2

我正在开展一个协作项目,而控制项目主分支的人在 Mac 上工作。正因为如此,他的 makefile 中有一些细微的差异,在 Windows 上对我来说不太好。我使用 MinGW 来保存我的库,并使用 g++ 进行编译。

Makefile(我认为它应该去)

bomb: source/Level.cpp source/Level.h source/main.cpp
g++ -o bomb source/Level.cpp source/main.cpp -Wall -I. -I\MinGW\include\SDL -lSDLmain -lSDL -lSDL_image

适合他的 Makefile:

bomb: source/Level.cpp source/Level.h source/main.cpp
g++ -o bomb source/Level.cpp source/main.cpp -Wall -I. -I/Library/Frameworks/SDL.framework/Headers -lSDLmain -lSDL -lSDL_image -framework 

我的 SDL 库包含文件位于“C:\MinGW\include\SDL”。使用这些知识,我将如何正确编写 makefile?附带说明一下,我在使用当前的 makefile 时遇到的错误是:

C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to 'WinMain@16'
4

1 回答 1

3

您是否尝试过添加-lmingw32到库列表的末尾?您是否在int main(int argc, char** argv)某处定义了函数?另请参阅SDL 常见问题解答

于 2012-04-25T07:09:45.190 回答