0

一連の Matlab/Mex 関数と静的ライブラリを処理する premake ファイルがあります。matlab の関数ごとに 1 つのプロジェクト、スタティック ライブラリごとに 1 つのプロジェクト。

4つのプラットフォームを使用しています

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 に答える