undefined reference to 'WinMain@16'
2017-11-29 00:00
549 查看
现象
一个C的项目,以64位模式编译时没有问题,切换到32位编译就报告错误:undefined reference to ['WinMain@16'](mailto:'WinMain@16')
原因
首先上原来的代码:#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ShellExecute(NULL,"open","taskkill"," /F /IM nginx.exe",NULL,SW_HIDE); ShellExecute(NULL,"open","taskkill"," /F /IM php-cgi.exe",NULL,SW_HIDE); ShellExecute(NULL,"open","taskkill"," /F /IM php.exe",NULL,SW_HIDE); ShellExecute(NULL,"open","taskkill"," /F /IM BeyondClass.exe",NULL,SW_HIDE); return 0; }
根据错误提示和网上找到的资料,说是因为这段代码没有main()函数导致。
解决
在代码中增加一个main函数:#include <windows.h> int main() { ShellExecute(NULL,"open","taskkill"," /F /IM nginx.exe",NULL,SW_HIDE); ShellExecute(NULL,"open","taskkill"," /F /IM php-cgi.exe",NULL,SW_HIDE); ShellExecute(NULL,"open","taskkill"," /F /IM php.exe",NULL,SW_HIDE); ShellExecute(NULL,"open","taskkill"," /F /IM BeyondClass.exe",NULL,SW_HIDE); return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { main(); return 0; }
再编译,OK,问题解决了。
相关文章推荐
- undefined reference to '__dyn_tls_init_callback'
- ANDROID链接报错 undefined reference to '__cxa_guard_ac
- undefined reference to 'pthread_setspecific '
- cgo: undefined reference to '*'
- undefined reference to `gluPerspective'
- undefined reference to `pthread_create'
- C++调用C的库函数 undefined reference to
- error: undefined reference to 'typeinfo for android::MediaSource' 错误解决
- 关于“undefined reference to”错误
- linux 下 undefined reference to `mysql_init'解决办法
- C++(Qt)静态成员类undefined reference to “xxx”
- 语言中编译连接出现undefined reference to ""的解决方法 (转)
- Android NDK编译错误处理-- error: undefined reference to '__dso_handle'
- 解决undefined reference to `__fdelt_chk@GLIBC_2.15'的问题
- 错误提示:undefined reference to `pthread_create'
- 程序报错 undefined reference to `shm_open'
- QCreater中一个WINSOCKET undefined reference to ...的错误的处理
- undefined reference to 'pthread_create'(转载)
- windows10 编译x264出现 undefined reference to `_beginthreadex'解决
- Qt出现“undefined reference to `vtable for”原因总结