在生成文件中:
CUSTOM_CFLAGS=-Wall -ggdb3 -O3 -std=gnu99 -frename-registers -pthread -Wsign-compare -D_GNU_SOURCE
SYS_CFLAGS=-DNO_THREAD_LOCAL
LDFLAGS=-pthread -rdynamic
LIBS=-lm -ldl
我应该把上面的东西放在 Xcode 项目的哪里?
使用“外部构建系统”模板使用 Xcode 构建基于 Makefile 的项目时
…您可以在项目的构建设置中添加任何必要的环境变量,例如 CFLAGS 或 LDFLAGS,如下所示:
然后在构建过程中将这些值导出为环境变量make
,假设您的 Makefile 内部有类似这样的内容,Makefile 将继续使用它:
CXXFLAGS=$(CFLAGS) $(LDFLAGS) -std=c++11
g++ $(CXXFLAGS) main.cpp
这是我构建一个依赖于 GNU 科学库的基于 Makefile 的项目所需要做的,使用gsl
来自 Macports 的包,它将所有内容都放入/opt/local
而不是 Xcode 查找共享库和头文件的“标准”位置。
也许这可以帮助其他人在这种情况下。
Makefile 标志对应于 Xcode 构建设置。查看以下构建设置:
-O3 标志的优化级别。-std=gnu99 标志的 C 语言方言。CUSTOM_CFLAGS 和 SYS_CFLAGS 标志中其他标志的其他 C 标志。LDFLAGS 和 LIBS 标志的其他链接器标志。
Xcode 可能对 makefile 的 CUSTOM_CFLAGS 标志列表和链接器标志中的某些标志有构建设置。我没有记住构建设置列表。如果您打开快速帮助检查器,您可以通过从构建设置列表中选择构建设置来阅读每个构建设置的描述。选择“视图”>“实用工具”>“显示快速帮助检查器”以显示“快速帮助”检查器。
如果您不知道在哪里可以找到 Xcode 的构建设置,请阅读以下文章: