简单项目无法编译
Simple project won't compile
我仍在处理一个无法编译的项目。我已经把它缩小到Includes,但不知道发生了什么。我读到我需要添加一个WinMain入口点,但这加不起来——我的同学根本没有遇到这个该死的错误。所以我创建了一个新的空项目:
#include <cstdlib> //include c library
//using namespace std;
//using namespace cv;
namespace sp {
int main() {
return 0;
}
}
包括以下内容:
GCC C++编译器下包括:
C:UsersAmitDesktopopencvbuildinclude
C:opencv_contrib-3.0.0modulesxfeatures2dinclude
在MinGW C++链接库下:
libopencv_core310
libopencv_imgcodecs310
libopencv_imgproc310
libopencv_xfeatures2d310
libopencv_features2d310
libopencv_highgui310
在MinGW C++链接库下搜索路径:
C:UsersAmitDesktopopencvbuildx86mingwlib
尽管如此,在没有调用这些库中的任何函数的情况下,我还是得到了以下错误:
09:45:43 **** Incremental Build of configuration Debug for project testing ****
Info: Internal Builder is used for build
g++ "-IC:\opencv_contrib-3.0.0\modules\xfeatures2d\include" "-IC:\Users\Amit\Desktop\opencv\build\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\testing.o" "..\src\testing.cpp"
g++ "-LC:\Users\Amit\Desktop\opencv\build\x86\mingw\lib" -o testing.exe "src\testing.o" -llibopencv_core310 -llibopencv_imgcodecs310 -llibopencv_imgproc310 -llibopencv_xfeatures2d310 -llibopencv_features2d310 -llibopencv_highgui310
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../libmingw32.a(main.o):(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
09:45:43 Build Finished (took 396ms)
有人能救我吗?
谢谢,阿米特。
创建可执行文件时,链接器需要在全局命名空间中使用名为main
的函数。您已将函数放置在命名空间而不是全局命名空间中,因此链接器找不到它。
因此,将main
移到sp
命名空间之外,或者告诉链接器函数在哪里(至少MS链接器可以这样做,但不确定g++是如何做到的(。
namespace sp {
int main() {
return 0;
}
}
声明了一个sp::main
函数,而不是main
。这样就没有main
函数作为程序的入口点。
解决方案:从sp
命名空间中删除main。
int main() {
return 0;
}
相关文章:
- 当我尝试通过 mingw 使用 CMake 和 SFML 库编译项目时出错
- LD:尝试编译项目时找不到架构x86_64符号
- 如何在不需要LIBCD.lib的情况下在Visual Studio 6中编译C项目
- 如何使用 Makefile 使用 VTK 库编译项目?
- UE4无法使用vs2017编译C++项目
- 无法让 CMAKE 编译项目
- 了解如何编译C++项目
- [UE4错误]无法编译项目.你想在Visual Studio中打开它吗?
- 使用 -O1 优化标志编译项目时共享库崩溃
- 每次都构建(make)lib,只有在lib较新时才重新编译项目
- 如何在 g++ 上使用 opencv 编译项目 c++
- 尝试使用 TMXlite 编译项目时LNK2019错误
- 编译项目时文件无效或损坏,包括 V8
- 为什么当我在Visual Studio中编译C++项目时会出现致命错误"LNK1104:无法打开文件'cryptlib.lib'?
- 在 netbeans 中编译项目中的单个文件
- 用cmake中的makefile编译项目
- 使用makefile编译C++项目时出现问题
- 用多个文件制作和编译C 项目
- 如何有条件地为 Eclipse 中的交叉编译项目包含两个不同名称的相同版本的库
- 如何编译项目后不运行exe文件