【发布时间】:2016-01-23 02:31:52
【问题描述】:
我目前正在使用 allegro 5.0 和 c++ 编写一个 c++ 游戏。我最终会让它在 mac、linux、windows 以及可能的 android 和 iPhone 上运行。目前它在linux上编译运行(在arch linux最新测试),但在mac上有一个小问题:
使用苹果提供的 g++,它抱怨链接错误,_main 未定义。但是,我已经检查并检查了,并且 main 肯定是在我的文件中定义的。反正肯定是,因为它在linux上编译运行,但我想不通。
我已经用谷歌搜索了很多天和很多术语(太多无法列出),但没有发现与 mac 和 main 未定义有任何关系。会不会有我遗漏的东西?我需要在mac上做一些特别的事情吗?最后要注意的一件事是,当我与 allegro_main.a 链接时,它会链接,但随后会崩溃。在 linux 上不需要链接这个库。我正在通过 macports 使用 allegro5。还需要注意的是,在 mac 上用来编译的 sh 脚本是 comp_mac.sh,而 linux 就是简单的 comp.sh。请注意,您可能需要修改 sh 脚本才能在您的环境中编译。到目前为止,这些仅在我的环境(macports)上进行了测试。
我的代码可以在这里找到:http://github.com/2mb-solutions/horseshoes/
感谢我能得到的所有帮助。
-迈克尔。
【问题讨论】:
-
在此处发布您的代码,而不仅仅是 github 链接。
-
在 github 页面上看不到
comp_mac.sh。 -
请提供一个Minimum, Complete, and Verifiable Example 来证明问题所在,而不是把整个项目都交给我们。
标签: c++ macos linker main allegro