我在C:\ cryptopp中下载并提取了Crypto ++.我使用Visual Studio Express 2012来构建内部的所有项目(按照自述文件中的说明),并且所有内容都已成功构建.然后我在其他文件夹中创建了一个测试项目,并添加了cryptolib作为依赖项.之后,我添加了包含路径,因此我可以轻松地包含所有标题.当我尝试编译时,我收到有关未解析符号的错误.
为了解决这个问题,我添加C:\cryptopp\Win32\Output\Debug\cryptlib.lib了链接其他依赖项.现在我收到这个错误:
Error 1 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in program.obj C:\Data\Work\C++ VS\CryptoTest\CryptoTest\cryptlib.lib(cryptlib.obj) CryptoTest
Error 2 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in program.obj C:\Data\Work\C++ VS\CryptoTest\CryptoTest\cryptlib.lib(iterhash.obj) CryptoTest
Error 3 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in program.obj C:\Data\Work\C++ VS\CryptoTest\CryptoTest\cryptlib.lib(sha.obj) CryptoTest
Error 4 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' …Run Code Online (Sandbox Code Playgroud) 我正在将我的项目从VS2010转换为VS2012.但是我在某些项目中遇到了_MSC_VER链接器错误.经过长时间浏览谷歌后,我发现问题是由于VS2010中创建的库与VS2012的链接.
如何找出导致错误的项目?我在这里引用错误:
Error 6 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile2.obj) Projectname2
Error 15 error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z) D:\ProjectLocation\Projectname1.lib(CppFile3.obj) Projectname2
Error 13 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile4.obj) Projectname2
Error 12 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile5.obj) Projectname2
Error 10 error LNK2038: mismatch detected for …Run Code Online (Sandbox Code Playgroud) 在Visual Studio 2013上遇到,但它可以与任何版本重现.
我从github克隆了协议缓冲库,在它上面运行了CMake-gui(我将所有内容都保留为默认值,因此它是静态版本),只构建libprotobuf(其他项目由于某种原因失败,cmd.exe错误,可能有事情要做有测试,但libprotobuf构建良好).
我的项目使用在mapbox矢量tile规范的github上找到的.proto文件生成的标题.
当我链接时,我首先有这个错误
Error 1 error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' s:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility
我尝试-D_SCL_SECURE_NO_WARNINGS在其他命令行参数中禁用它,但后来我有其他错误:
Error 1 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in main.obj S:\eiogit3\misc-projs\mapload\mapload\libprotobufd.lib(common.obj)
c++ protocol-buffers visual-studio visual-c++ visual-studio-2013
我有一个项目,其架构如下:
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 projects\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 io\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data.proto\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 generated\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data.pb.cc\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 data.pb.h\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 service\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.cpp\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dll_project_1\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 dll_project_2\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 third_party\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 protobuf\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bin\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 cmake\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 include\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib\nRun Code Online (Sandbox Code Playgroud)\n项目目录包含我的所有项目(显然):
\nThird_party /protobuf包含此处列出的所有 protobuf 安装文件。请注意,为了安装 protobuf,我遵循了此处的所有说明(在 Debug x64 和 Release x64 中均使用 Visual Studio …