我正在使用Visual Studio 2013编译包含带有cu文件的cpp的动态库,并且在链接期间出现了这样的错误:
proj_generated_cufile.cu.obj : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in file.obj
libcpmt.lib(ios.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in file.obj
我没有使用任何其他库,我已经尝试在项目首选项中设置运行时库 - > C / C ++ - >代码生成到"多线程DLL(/ MD)"并在CUDA C / C ++下 - >主机到"多线程DLL(/ MD)"或者来自主持人"。
我正在使用cmake生成项目(使用cuda_add_library)。
问题是,我正在尝试编译动态库吗?与此假设相矛盾的是,当我仅编译cpp文件时,编译成功。
感谢您的任何建议!
答案 0 :(得分:2)
我认为,一个与CRT DLL(/ MD)相关联,另一个与静态链接(/ MT)。