#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
int main()
{
FI_Window window(200, 200, "Window title"); // error: FI
FL_Box box(0, 0, 200, 200, "Hey, I mean, Hello, World! ");
window.show();
return Fl::run();
}我在VS 2019年构建了上面的代码,并得到了一个错误代码,LNK1104,不能打开文件"fltkd.lib"。我检查了所有链接器设置/值,如Bjarne和其他在线来源在“使用C++编程原则和实践”一书中所建议的那样,但我仍然收到了错误。有一些不同的设置与VS 2019年或我把libs文件在错误的方向。
我放置libs文件的目录:-
C:\程序文件(x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib
发布于 2021-08-09 03:11:11
LNK4098: defaultlib 'MSVCRTD‘与其他库的冲突;使用/NODEFAULTLIB:library
如果您编译一个文件以使用一种运行时库,另一种文件使用另一种文件(例如,调试和零售)并试图链接它们,您将得到以下警告。您应该编译所有源文件以使用相同的运行时库。
Project -> Properties -> C/C++ -> Code Generation -> Runtime Library
vc\lib中有4个版本的CRT链接库:
libcmt.lib:用于发布构建的静态CRT链接库(/MT)
libcmtd.lib:用于调试构建的静态CRT链接库(/MTd)
msvcrt.lib:用于CRT发布DLL版本的导入库(/MD)
msvcrtd.lib:用于调试CRT的DLL版本的导入库(/MDd)
根据医生的说法:链接器工具警告LNK4098
当您的可执行文件使用多线程、非调试运行时库时,所报告的列表应该包括LIBCMT.lib,而不是LIBCMTD.lib、MSVCRT.lib或MSVCRTD.lib。可以通过对要忽略的每个库使用/NODEFAULTLIB来告诉链接器忽略不正确的运行时库。
https://stackoverflow.com/questions/68694451
复制相似问题