我在 **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>
为与图书馆相同的目标而构建如何成为问题?