有没有办法在没有Visual Studio的情况下使用DirectXTex?

堆飞

到目前为止,我尝试使用DirectX 11项目执行此操作以加载纹理:

我下载了DirectXTex源代码,将源文件包含到我的项目中并尝试进行编译,但出现错误。我从这些头文件有错误:WICTextureLoader.hDDSTextureLoader.h,和DirectXTex.h错误来自头文件,而不是我自己的代码。然后,我尝试了WICTextureLoader11.hDDSTextureLoader11.h,得到的错误是undefined reference to the function CreateWICTextureFromFile()...(或相同的,但使用DDS)。

我认为,这里的问题可能是编译器(我使用Clang / GCC)找不到.lib文件?但是,这里有些人提到您可以将源文件放入文件夹中,一切都会好起来的。好像对我来说不好。如果这是问题所在,有没有办法在.lib不进行VS安装和其他操作的情况下获取二进制文件()?

查克·沃尔本

DirectXTex库可以使用Windows或Visual C ++的clang / LLVM构建。该项目包括一个使用CMake构建DirectXTex库CMakeLists.txt,以及可选的命令行工具。如果您有自己的品牌解决方案,则可以通过引用该文件来制定详细信息。

要使用DirectXTex库函数(又名LoadWICFromFileCompress等等),您需要链接到DirectXTex库,您可以通过add_subdirectory在CMake中进行操作target_link_libraries您还需要添加包含路径:

要从自己的CMake使用它:

add_subdirectory(${CMAKE_SOURCE_DIR}/../DirectXTex ${CMAKE_BINARY_DIR}/bin/CMake/DirectXTex)

target_link_libraries(${PROJECT_NAME} DirectXTex)
target_include_directories(${PROJECT_NAME} PRIVATE ../DirectXTex/DirectXTex)

请记住,DirectXTex软件包包括独立模块(DDSTextureLoader,WICTextureLoader和ScreenGrab),如果您想要基本的运行时加载而没有转换,调整大小,压缩等所需的所有代码,则可以使用这些模块代替DirectXTex。

要使用独立模块,需要将标头和.cpp文件添加到项目中-它们不在DirectXTex.lib中。

所以你的情况,从包括该目录WICTextureLoader11.hWICTextureLoader11.cpp获得的Direct3D的版本11 CreateWICTextureFromFile出现链接错误的原因是您没有将cpp文件添加到项目中。

DirectX的工具包还包括DDSTextureLoaderWICTextureLoaderScreenGrab这些版本集成在中DirectXTK.lib可以完全不用DirectXTex,而可以使用该项目的CMakeLists.txt并将其引用为:

add_subdirectory(${CMAKE_SOURCE_DIR}/../DirectXT ${CMAKE_BINARY_DIR}/bin/CMake/DirectXTK)

target_link_libraries(${PROJECT_NAME} DirectXTK)
target_include_directories(${PROJECT_NAME} PRIVATE ../DirectXTK/Inc)

请参阅WICTextureLoader文档和此博客文章

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法检索ADT?似乎没有办法使用DDMTemplateLocalServiceUtil

使用JSch,有没有办法在没有执行ls的情况下判断是否存在远程文件?

有没有办法在没有for循环的情况下转置该表

有没有办法在没有管理员权限的情况下将站点从Visual Studio发布到IIS?

有没有办法在没有package.json的情况下使用browserify-shim?

有没有办法在watchOS中使用`useProtocolCachePolicy`?

有没有办法在querySelector中使用*?

有没有办法使Premake使用Visual Studio Studio模板?

有没有办法在Visual Studio 2017中查看所有书签的列表?

有没有办法在Visual Studio 2015上使用Monogame 3.2

有没有办法在没有字典的情况下创建哈希表?

有没有办法在没有 GUI 的情况下登录网络?

有没有办法在没有循环的情况下使用 bash 在数组中搜索相同性?

有没有办法在没有 CDN 的情况下直接使用 Vuetify?

有没有办法在没有快照的情况下使用 Ubuntu 软件中心?

有没有办法在没有 AsyncPlayerChatEvent 的情况下捕获玩家聊天输入?

有没有办法在没有解决方案的情况下使用 Visual Studio 的 Klocwork 插件?

有没有办法在没有 Sleuth 的情况下使用 Zipkin?

有没有办法在列表中没有列表的情况下进行打印?

有没有办法在不使用插座的情况下更新 NSTextField 标签的 stringValue ?

有没有办法减少这种情况?

有没有办法在不使用输入文件的情况下上传文件

有没有办法在不使用 CTE 的情况下进行递归 SQL 查询?

有没有办法在没有命令的情况下赋予角色?

有没有办法在没有快照的情况下对 Firebase 数据进行分页?

有没有办法在不使用 if-else if 的情况下获得选定的组合

有没有办法在不使用循环的情况下使用系列索引列表?

有没有办法在没有模式的情况下使用 Jupyter Notebooks?

有没有办法在没有客户端密钥的情况下使用 API?