在Makefile中链接SDL库,c ++

时间:2012-04-25 07:04:30

标签: c++ makefile sdl

我正在开展一个协作项目,控制项目主分支的人在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'

1 个答案:

答案 0 :(得分:3)

您是否尝试将-lmingw32添加到库列表的末尾?你在某处定义了int main(int argc, char** argv)函数吗?另请参阅SDL FAQ