我正在尝试将使用 C++ 文件创建的目标文件合并到一个可执行文件中gcc
。不幸的是,gcc
这给了我成千上万的undefined reference
字符串、数组等错误。
我在 Windows 机器上执行此操作,因此没有终端命令;只有 cmd 命令。
我只是在做:
gcc a.o b.o c.o -o prgm.exe
我错过了什么/做错了什么?
编辑:
我用 g++ 重新创建了 .o 文件:
g++ a.cpp -g -c -Wall -std=c++0x -lSDLmain -lSDL -lSDL_image -lSDL_ttf -IC:\SDL-1.2.14\include -o a.o
,其中 a.cpp 和 ao 是我保存文件的目录,而不是 g++ 目录
然后,我做到了g++ a.o b.o c.o -o prgm.exe
。这给了几十个(我想这是一个改进?)错误,比如
undefined reference to `_SDL_SetColorKey'
但我包括 SDL 不是吗?
最终的错误是:
c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../li
bmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `_WinMain
@16'
collect2.exe: error: ld returned 1 exit status
int main(int argc, char * argv[])
在代码中