- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
cl -MT -DSFML_STATIC main.cpp freetype.lib gdi32.lib glew.lib jpeg.lib openal32.lib opengl32.lib sfml-audio-s.lib sfml-graphics-s.lib sfml-network-s.lib sfml-system-s.lib sfml-window-s.lib sndfile.lib winmm.lib
结果是:
sfml-graphics-s.lib<Color.cpp.obj> : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in main.obj
如何指定 RuntimeLibrary?
最佳答案
您可能需要运行时库的多线程、动态、发布版本。使用/MD 标志。参见 here有关控制要链接到哪个版本的运行时库的标志的更多信息。
问题是 sfml-graphics-s.lib 链接到运行时库的多线程、动态、发布版本,而你的命令行指示链接到该库的多线程、静态、发布版本(你是使用/MT 开关)。将/MT 替换为/MD,应该可以解决冲突。
关于c++ - 如何使用 cl.exe 链接静态库? (指定 RuntimeLibrary),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056672/
我在 C:\cryptopp 中下载并解压了 Crypto++。我使用 Visual Studio Express 2012 来构建里面的所有项目(按照 readme 中的说明),一切都构建成功。然后
我试图将一个库(我们称它为 LibB)链接到一个已经链接到另一个库(LibA)的程序(TheProgram) . 调试配置构建良好,但在 Release模式下出现此错误: error LNK2038:
我对 pjsua2.lib 有一些问题。我无法在 QT 中构建它。我添加了以下库: INCLUDEPATH += "$$DIRECTX_PATH\Include" INCLUDEPATH+="$$SI
我正在使用 Visual Studio 2013 编译一个包含 cpp 和 cu 文件的动态库,我在链接期间遇到这样的错误: proj_generated_cufile.cu.obj : error
我尝试使用C++代码将mnist数据集转换为lmdb格式。我安装了所有必需的软件包,但是在运行代码时出现此错误: Error MSB4044: The "CheckRuntimeLibrary" ta
cl -MT -DSFML_STATIC main.cpp freetype.lib gdi32.lib glew.lib jpeg.lib openal32.lib opengl32.lib sfm
我正在编写一个 Visual Studio 2010 属性表来集成一个复杂的 3rd 方 C++ 库。 要确定我需要链接到我的项目的库的哪些部分(以及配置各种定义、包含、目录等),我的属性表需要确定项
我试图用msvc2017从github编译essnac-ng库以在已经存在的qt-Project中使用。 我设法使用msys2(带有make,autoconf,automake,yacc,bison)
我正在将 Matlab、C 和 Cuda 集成到一个项目中。我使用Matlab mix为了将用c编写的matlab mx函数与cuda运行时库连接起来,出现关于c文件和库之间的静态发布和动态发布冲突的
我正在使用 Visual Studio 编译 C 代码,我想更改运行时库参数(可以在项目属性 -> 代码生成 -> 运行时库中找到)。起初,当我没有改变任何东西时它就可以工作。现在,即使我回到“/MD
我是一名优秀的程序员,十分优秀!