0

我正在尝试将我的 Visual Studio 项目文件转换为使用 premake 为不同的 Visual Studio 版本生成解决方案。

我想为每个库编写配置函数,以便根据平台工具集设置不同的包含目录、库目录和 dll。我尝试使用配置或过滤命令,但这不起作用,而是将所有库和目录包含到我的项目中。

下面是我正在尝试做的一个简化示例。

function projectconfig()    
    filename "MyProj" 
    kind "SharedLib"
    language "C++"         
    filter "action:vs2010"
         links "lib_vc100"
         ..etc
    filter "action:vs2012"
        links "lib_vc110"
        ..etc
    filter {} <--- This had to be added to fix the issue
end

我应该怎么做这样的事情?

谢谢!

4

2 回答 2

0

如果这不起作用,您可以使用

if _ACTION == "vs2010" then

结尾

但请考虑提交一个错误!

于 2015-07-30T20:53:00.570 回答
0

您可以在 premake 中使用 VS 宏:

libdirs "libs/$(PlatformToolset)"
links "foo"

然后在您的源代码树中:

libs/
    v110/
        foo.lib
    v120/
        foo.lib
    v140/
        foo.lib
于 2016-02-25T15:41:43.783 回答