在makefile中:
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项目中将上述内容放在哪里?
答案 0 :(得分:1)
使用“外部构建系统”模板使用 Xcode 构建基于 Makefile 的项目时
...您可以在项目的构建设置中添加任何必要的环境变量,例如 CFLAGS 或 LDFLAGS,如下所示:
然后这些值会在构建过程中作为环境变量导出,make
和 Makefile 将接收这些值,例如,假设您的 Makefile 里面有这样的东西:
CXXFLAGS=$(CFLAGS) $(LDFLAGS) -std=c++11
g++ $(CXXFLAGS) main.cpp
这是我使用 Macports 的 gsl
包构建一个依赖于 GNU Scientific Library 的基于 Makefile 的项目所需要做的,它将所有内容放在 /opt/local
而不是“标准" Xcode 查找共享库和头文件的地方。
也许这可以在这种情况下帮助其他人。
答案 1 :(得分:0)
Makefile标志对应于Xcode构建设置。查看以下构建设置:
-O3标志的优化级别。 C语言方言为-std = gnu99标志。 CUSTOM_CFLAGS和SYS_CFLAGS标志中其他标志的其他C标志。 LDFLAGS和LIBS标志的其他链接器标志。
Xcode可能具有makefile的CUSTOM_CFLAGS标志列表和链接器标志中某些标志的构建设置。我没有记住构建设置列表。如果打开“快速帮助”检查器,则可以通过从构建设置列表中选择构建设置来阅读每个构建设置的说明。选择查看>公用事业>显示“快速帮助”检查器以显示“快速帮助”检查器。
如果您不知道在哪里可以找到Xcode的构建设置,请阅读以下文章: