📄 linkerror.txt
字号:
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?id=1969&pid=1962&topicname=Output_extent
LNK2019:
libcd.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用
控制台工程方案1:
1、WINMAIN定义改为
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
2、项目-〉属性-〉链接->system->子系统-〉Windows (/SUBSYSTEM:WINDOWS)
还有把 项目-〉属性-〉C/C ->预处理器-〉预处理定义 console 改为windwos
MFC工程方案二:
1:配置属性->常规:MFC的使用改为:在静态库中使用 MFC
2:配置属性->c/c++->代码生成:运行时库改为:多线程(/MT)
LNK2005:
gsmsgbox.lib(movedialog.obj) : error LNK2005: _IsPlatformNT 已经在 nafxcw.lib(wincore.obj) 中定义
libcd.lib(dbgheap.obj) : error LNK2005: _malloc 已经在 libcmt.lib(malloc.obj) 中定义
解决方案:
配置属性->连接器->命令行中加入:/FORCE:MULTIPLE
再编译,通过了,但出现了一个Link错误:
corelibc.lib(wwinmain.obj) : error LNK2019: unresolved external symbol wWinMain referenced in function wWinMainCRTStartup
现在要做如下修改,因为程序默认Entry Point找不到了,重新打开项目设置:
[Project Properties] -->[Configuration Properties] --> [Linker]-->[Advanced]-->[Entry Point]-->把[wWinMainCRTStartup]改成[WinMainCRTStartup]
再编译,通过了。另外,Visual Studio2005总会提示你例如WINVER没定义等等,但会有一个Default值,不影响编译,还有就是会有提示过期的警告信息,如果太多的话可以加上如下的编译控制模块加以屏蔽:
#if (_MSC_VER >= 1400) /* VC8+ (VS2005) */
#pragma warning(disable : 4996) /* Disable all deprecation warnings */
#endif /* VC8+ (VS2005) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -