LINK:fatal error LNK1104: cannot open file 'libc.lib' 今天,用VS2008编译我的一个MFC程度时报错: LINK : fatal error LNK1104: cannot open file 'libc.lib' 而这程序的是这样的: 由于类似的状况,在以前VC 6.0里开发时也经常会碰到,所以我的做法是直接把libc.lib在Project Setting里ignore掉。 util_RsXML.lib(XMLParser.obj) : error LNK2019: unresolved external symbol "private: void __thiscall CXMLParser::splitString(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > &)" (?splitString@CXMLParser@@AAEXABV?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@std@@AAV?$vector@V?$basic_string@DU?$char_traits@D@ std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@ D@std@@V?$allocator@D@2@@std@@@2@@3@@Z) referenced in function "public: void __thiscall CXMLParser::Generate(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (?Generate@CXMLParser@@QAEXABV?$basic_string@DU?$char_traits@ D@std@@V?$allocator@D@2@@std@@PBD@Z) 奇了怪了,VC 9.0就是不一样,于是只好到网上搜一下,后来做了如下修改后终于成功: 解决办法,在Project-->Setting-->Linker-->Command Line-->Additional options中加入: /nodefaultlib:libc ----------------------------------------------------------------------- 以下是网上看到的与此问题类似的一些状况及解决办法: 今天,用VS2008编译一个C++语言的程序,修改完所有错误后,出现了如下的错误: MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup 在网上搜了一下,做如下修改: 一,问题描述 二,产生这个问题可能的原因 2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。 三, 解决方法 1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS 2.进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows. 3.保存设置,Rebuild All. 如果入口函数是main,做反向的修改。 四,VS2005中的设置 1.菜单中选择 Project->Properties, 弹出Property Pages窗口 2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS. 3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS) 4.Rebuild All. Ok (罗索客) |