1

在生成文件中:

 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 项目的哪里?

4

2 回答 2

1

使用“外部构建系统”模板使用 Xcode 构建基于 Makefile 的项目时

“外部构建系统”的 Xcode 模板

…您可以在项目的构建设置中添加任何必要的环境变量,例如 CFLAGS 或 LDFLAGS,如下所示:

将 CFLAGS/LDFLAGS 环境变量添加到 Xcode 项目

然后在构建过程中将这些值导出为环境变量make,假设您的 Makefile 内部有类似这样的内容,Makefile 将继续使用它:

CXXFLAGS=$(CFLAGS) $(LDFLAGS) -std=c++11

g++ $(CXXFLAGS) main.cpp

这是我构建一个依赖于 GNU 科学库的基于 Makefile 的项目所需要做的,使用gsl来自 Macports 的包,它将所有内容都放入/opt/local而不是 Xcode 查找共享库和头文件的“标准”位置。

也许这可以帮助其他人在这种情况下。

于 2021-01-22T09:04:44.693 回答
0

Makefile 标志对应于 Xcode 构建设置。查看以下构建设置:

-O3 标志的优化级别。-std=gnu99 标志的 C 语言方言。CUSTOM_CFLAGS 和 SYS_CFLAGS 标志中其他标志的其他 C 标志。LDFLAGS 和 LIBS 标志的其他链接器标志。

Xcode 可能对 makefile 的 CUSTOM_CFLAGS 标志列表和链接器标志中的某些标志有构建设置。我没有记住构建设置列表。如果您打开快速帮助检查器,您可以通过从构建设置列表中选择构建设置来阅读每个构建设置的描述。选择“视图”>“实用工具”>“显示快速帮助检查器”以显示“快速帮助”检查器。

如果您不知道在哪里可以找到 Xcode 的构建设置,请阅读以下文章:

Xcode 4:访问构建设置

于 2012-11-19T19:34:00.067 回答