0

我在 **Monterey M1 MacBook** 上创建构建系统时遇到了一些麻烦:

到目前为止,我有一个可以工作的 Makefile 来构建和链接一个库。
(简化:g++ -c所有 .cpp 文件转换为 .o 文件 → ar -r <.o files> libmyLibrary.a>
效果很好

问题:
当我尝试构建一个使用所说的可执行二进制文件时libmyLibrary.a。源文件的编译工作正常,但我收到以下(看似荒谬的)链接器警告:

ld: warning: ignoring file /Path/to/lib/libmyLibrary.a,
building for macOS-arm64 but attempting to link with file built for macOS-arm64

→ 我ofc然后得到一些Undefined symbols for architecture arm64: ... <stuff from library> referenced from: <stuff from executable>

为与图书馆相同的目标而构建如何成为问题?

4

1 回答 1

1

在更改链接库的方式后,我设法编译了可执行文件。我的 Makefile 还链接了一个预编译的头.pch文件。

删除后,它工作正常。

于 2022-02-27T22:40:56.183 回答