遇到的几个编译或链接错误:error C1189 && error LNK2001
2009-08-08 16:41
225 查看
1、: fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
原因:加载头文件时,顺序不对。主要是<afx.h>在<windows.h>后了
解决:调整头文件链接顺序,使<afx.h>在<windows.h>前
原头文件链接:
#include <windows.h>
#include "TFile.h" //内部包含了<afx.h>
调整后:
#include "TFile.h" //内部包含了<afx.h>
#include <windows.h>
2、使用自定义的类时,编译出现链接错误:
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc
nafxcwd.lib(timecore.obj) : error LNK2001: unresolved external symbol __mbctype
nafxcwd.lib(apphelp.obj) : error LNK2001: unresolved external symbol __mbctype
nafxcwd.lib(filelist.obj) : error LNK2001: unresolved external symbol __mbctype
解决:PROJECT->SETING->C/C++->PREPROCESSOR->定义 _AFXDLL。
3、线程运行时库设置错误, 提示: X;t_- f
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex AmiBqZTp
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex sz 23_{c?
解决:Project] --> [Settings] --> 选择"C/C++"属性页, 在Category中选择Code Generation, 再在Use run-time library中选择Debug Multithreaded或者multithreaded
原因:加载头文件时,顺序不对。主要是<afx.h>在<windows.h>后了
解决:调整头文件链接顺序,使<afx.h>在<windows.h>前
原头文件链接:
#include <windows.h>
#include "TFile.h" //内部包含了<afx.h>
调整后:
#include "TFile.h" //内部包含了<afx.h>
#include <windows.h>
2、使用自定义的类时,编译出现链接错误:
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc
nafxcwd.lib(timecore.obj) : error LNK2001: unresolved external symbol __mbctype
nafxcwd.lib(apphelp.obj) : error LNK2001: unresolved external symbol __mbctype
nafxcwd.lib(filelist.obj) : error LNK2001: unresolved external symbol __mbctype
解决:PROJECT->SETING->C/C++->PREPROCESSOR->定义 _AFXDLL。
3、线程运行时库设置错误, 提示: X;t_- f
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex AmiBqZTp
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex sz 23_{c?
解决:Project] --> [Settings] --> 选择"C/C++"属性页, 在Category中选择Code Generation, 再在Use run-time library中选择Debug Multithreaded或者multithreaded
相关文章推荐
- 本人遇到的常见g++编译链接错误总结
- C++编译遇到参数错误(cannot convert parameter * from 'const char [**]' to 'LPCWSTR')
- 编译时遇到 "Undefined reference to vtable for ***" 错误怎么办?
- Oprofile 编译使用过程中遇到的几个错误
- QT中添加Q_OBJECT时编译提示obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const错误解决方法
- linux编译安装php5.4遇到错误:undefined reference to `libiconv_open'
- 使用log4cplus时遇到的链接错误:无法解析的外部符号 "public: __thiscall log4cplus::RollingFileAppender::RollingFileAppende
- 编译时遇到如下错误error C2061: syntax error : identifier 'THIS_FILE'
- keilc 4 编译出现的几个错误…
- 编译时遇到如下错误error C2061: syntax error : identifier 'THIS_FILE'
- 几个常见编译链接错误~及如何传递数组形参
- C & C++ 中值得注意的编译,链接,调试,错误及其原因
- 【转】编译时遇到如下错误error C2061: syntax error : identifier 'THIS_FILE'
- 编译动态库时遇到relocation R_X86_64_32 against `a local symbol'的错误
- 在VC中使用switch语句时遇到“error C2360: initialization of 'k' is skipped by 'case' label”的编译错误。
- C++编译遇到参数错误(cannot convert parameter * from 'const char [**]' to 'LPCWSTR')
- 关于vivi编译时遇到的几个错误
- 使用muduo编译链接错误 undefined reference to `muduo::ThreadPool::run(boost::function<void ()()>&&)'
- 编译时遇到如下错误error C2061: syntax error : identifier 'THIS_FILE'
- 编译时遇到如下错误error C2061: syntax error : identifier 'THIS_FILE'