根据您的库支持编译代码
Compile code based on your library support
我的C 代码的一部分是基于GPU的,因此我在同一项目上有效的一所大学没有可能编译。
例如,在一个文件中,有此行:
#include "opencv2/xfeatures2d/cuda.hpp"
或在另一个文件中,有这类代码:
cv::cuda::GpuMat imgGpu, descriptorsGpu, keypoints;
imgGpu.upload(img);
只能使用CUDA(和GPU)支持进行编译。
我们如何解决这个问题?我唯一的解决方案是为包含此代码的每个源文件引入一个宏,用宏包裹该部分并在库支持的情况下编辑其值,但这是一种噩梦。
有更好的解决方案吗?
ps:我们的项目基于makefile
首选方法是将所有依赖的代码隔离到单独的库中。建立一个模拟或虚拟替代库,该图书馆暴露了相同的API,但不需要CUDA。如果有一天您需要将CUDA代替Vulcan或其他一些框架,那么责任的分离可能是无价的。
相关文章:
- 编译时未启用intel oneApi CUDA支持
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 在 Ubuntu 18.04 上编译 GLSL 着色器时"不支持 GLSL 3.30"?
- 如何在 clang 的自动会议中检查支持编译标志
- 如何使用MinGW编译器和SSL支持静态编译Qt
- 如何在GPU支持下编译tflite?
- C++项目编译强制使用 /clr 选项,尽管在没有公共语言运行时支持的情况下执行它
- 如何在 Windows x64 上编译支持 fips 的 openssl?
- 当我在支持 avx2 的机器上编译并在另一台仅支持 avx 的机器上运行二进制文件时会发生什么?
- <mutex> 使用 /clr 或 /clr:pure 编译时不支持
- OpenCV 4.x+ 需要启用 C++11 支持编译暗网致命错误
- 根据您的库支持编译代码
- Opencv错误:没有GPU支持(编译库时没有CUDA支持)
- 如何在 OS X 10.10.3 上将 SASL 支持编译为 Postfix-3.0.0
- 使用UTF8支持编译POCO
- 创建一个构建框架来支持编译支持多个平台的代码
- 用python支持编译opencv出错
- 使用MySQL支持编译QuickFIX C++
- C++是否支持编译时间计数器