我有一个 C++11 代码库,我使用 OS X Lion 上的 MacPorts 的 gcc 4.6 编译。我还需要编译和链接一些特定于操作系统的 Objective C/C++ 文件以生成最终的可执行文件。我想使用相同的编译器版本来编译整个项目,但是我无法让 gcc 的 MacPorts 版本 4.6 来识别 Objective-C 文件;它总是试图将它们解释为 C++ 代码并忽略 .mm 文件扩展名。(编译这些文件确实适用于 gcc 的 Xcode 版本,而不是 MacPorts 版本。但是,gcc 是 4.2 版,我想用 gcc 4.6 或更高版本编译所有内容。)
忘记 IDE 或构建工具:我从编译器的命令行调用中得到相同的结果。也就是说,我记录了一个用于使用 Apple gcc 编译 .mm 文件的命令行,验证是它确实可以从命令行工作,然后运行相同的命令,没有任何改变,但使用了编译器并且它不起作用。我错过了什么?