0

我有一个预制文件,可以处理一堆 Matlab/Mex 函数和静态库。每个 matlab 函数一个项目,每个静态库一个项目。

我正在使用四个平台

platforms { "Win32", "Win64","Linux32","Linux64" }

我需要在 Win32 和 Linux32 平台上,matlab 函数的扩展名(targetextension)是“.mexglx”,而在“Win64”和“Linux64”平台上,扩展名(targetextension)是“.mexa64”。但我不希望图书馆项目中的那个扩展。

我认为我需要使用规则,但我不知道如何使用它。

它运行

if os.is64bit() then
    extension = ".mexa64"
else
    extension = ".mexglx"
end
...
project "foo"
    kind "ConsoleApp"
    language "C++"
    files { "foo.cpp" }
    targetextension(extension)

但这显然很糟糕

4

1 回答 1

2

这个怎么样?

filter { "platforms:*32", "kind:not StaticLib" }
   targetextension ".mexglx"

filter { "platforms:*64", "kind:not StaticLib" }
   targetextension ".mexa64"
于 2015-03-12T18:56:17.170 回答