0

我有一个在 Linux 和 Mac 上运行的应用程序。现在,对于这个应用程序,我需要从不同的路径复制一些库。

对于 Linux,cp ../gccRelease/libMsSipRelease.a ../../VoipAppLinux/lib/

对于 Mac,cp ../DerivedData/MsSipLib/Build/Products/Debug/libMsSipLib.dylib ../../VoipAppLinux/lib/

如您所见,两条路径是不同的。现在,我的问题是我可以在 make 文件中使用 #ifdef Linux 或 #ifdef APPLE吗?如果可以,请问语法是什么?如果 #ifdef 不能在 makefile 中使用,我该如何解决这个问题。

谢谢你。

4

1 回答 1

1

您可以使用ifdef APPLE,但有一种更自动的方式:在 makefile 中,类似的命令$(shell uname -s)将告诉 Make 操作系统是什么。尝试这个:

OS := $(shell uname -s)
ifeq ($(OS),Linux)
MSSIPLIB := ../gccRelease/libMsSipRelease.a
else
MSSIPLIB := ../DerivedData/MsSipLib/Build/Products/Debug/libMsSipLib.dylib
endif

# And later on
cp $(MSSIPLIB) ../../VoipAppLinux/lib/
于 2012-10-04T12:47:33.473 回答