- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个使用 Pixar 的 OpenSubdiv 库的 C++ 程序:https://github.com/PixarAnimationStudios/OpenSubdiv
我已经成功构建了库,包括使用该库的“教程”。
OpenSubdiv 和我自己的程序都是用 CMake 构建的(我有一些,但经验不多)。出于测试目的,我有一个 C++ 代码所在的项目文件夹,在这个文件夹中我还有一个 OpenSubdiv 文件夹,我在其中构建了 OpenSubdiv/build 中的库。我用于测试目的的 C++ 代码与 pixar 使用 opensubdiv 提供的教程之一相同,称为“far_tutorial_0.cpp”。本教程在 Opensubdiv 文件夹中编译和工作正常,使用非常长且复杂的 CMake 脚本来安装整个库。但是,当我将它移出 Opensubdiv 文件夹并尝试使用简单的 CMake 脚本进行编译时,我遇到了问题。这是我使用的 CMake 脚本:
cmake_minimum_required (VERSION 2.6)
project (test)
add_executable(test test.cpp)
include_directories(OpenSubdiv/build)
target_link_libraries(test osdCPU)
这设法在没有任何错误消息的情况下编译代码,但是当我尝试执行代码时,它说“加载共享库时出错:libosdCPU.so.3.0.0.beta:无法打开共享对象文件:没有这样的文件或目录”。
我曾尝试将库名称更改为“osdCPU.so.3.0.0.beta”(在编译时出现错误),并且我尝试使用这两个库名称(出现相同的错误)。文件“libosdCPU.so.3.0.0.beta”位于 OpenSubdiv/build/lib 文件夹中,紧挨着“libosdCPU.so”。
有人知道这是怎么回事吗?
最佳答案
您还必须使用 CMake 命令 link_directories
提供库 osdCPU
的位置。
此外,我鼓励您使用像这样的特定变量来形式化您的代码(包括您可以通过命令 ccmake
修改的缓存变量):
set(osdCPU_PATH_DEFAULT "/default/path/to/osdCPU")
set(osdCPU_PATH "${osdCPU_PATH_DEFAULT}" CACHE PATH "Path to osdCPU")
set(osdCPU_INCLUDE_DIRS ${osdCPU_PATH}/include)
set(osdCPU_LIBRARY_DIRS ${osdCPU_PATH}/lib)
set(osdCPU_LIBRARIES osdCPU)
然后就可以调用了
include_directories(${osdCPU_INCLUDE_DIRS})
link_directories(${osdCPU_LIBRARY_DIRS})
# ...
target_link_libraries(test ${osdCPU_LIBRARIES})
关于c++ - 使用 CMake 链接库 OpenSubdiv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29257704/
我在构建 [OpenSubdiv] ( http://graphics.pixar.com/opensubdiv/docs/cmake_build.html ) 时遇到以下错误: error C266
我正在尝试制作一个使用 Pixar 的 OpenSubdiv 库的 C++ 程序:https://github.com/PixarAnimationStudios/OpenSubdiv 我已经成功构建
我是一名优秀的程序员,十分优秀!