QBS 为静态 link MSVC 创建静态库
QBS create static library for static link MSVC
我需要使用 boost 将应用程序构建为独立模块(已经在带有 /MT 标志的静态模式下编译)。使用 Visual studio 17(MSVC)
我的项目由一个静态库和一个控制台应用程序组成。
import qbs 1.0
Project {
property string SDK: ''
Product {
name: 'MyLib'
type: 'StaticLibary'
Depends {name: 'cpp'}
Group {
name: 'src'
files: './src/*.cpp'
}
Group {
name: 'include'
files: './include/MyLib/*.cpp'
}
cpp.cxxLanguageVersion: 'c++11'
Properties {
condition: qbs.toolchainType.contains('msvc')
cpp.cxxFlags: ['/MT'] //don't replace default compiller flag /MT
}
}
Product {
name: 'app'
type: 'ConsoleApplication'
Depends {name: 'cpp'}
Depends {name: 'MyLib'}
cpp.cxxFlags: ['/MT']
//othre depends from boost and CPP
}
}
cpp.cxxFlags: ['/MT']
附加额外的参数,但我需要替换标志。有什么想法吗?
cpp.runtimeLibrary: 'static'
将标志 /MD 替换为 /MT 并在调试版本中附加 'd' 后缀
我需要使用 boost 将应用程序构建为独立模块(已经在带有 /MT 标志的静态模式下编译)。使用 Visual studio 17(MSVC) 我的项目由一个静态库和一个控制台应用程序组成。
import qbs 1.0
Project {
property string SDK: ''
Product {
name: 'MyLib'
type: 'StaticLibary'
Depends {name: 'cpp'}
Group {
name: 'src'
files: './src/*.cpp'
}
Group {
name: 'include'
files: './include/MyLib/*.cpp'
}
cpp.cxxLanguageVersion: 'c++11'
Properties {
condition: qbs.toolchainType.contains('msvc')
cpp.cxxFlags: ['/MT'] //don't replace default compiller flag /MT
}
}
Product {
name: 'app'
type: 'ConsoleApplication'
Depends {name: 'cpp'}
Depends {name: 'MyLib'}
cpp.cxxFlags: ['/MT']
//othre depends from boost and CPP
}
}
cpp.cxxFlags: ['/MT']
附加额外的参数,但我需要替换标志。有什么想法吗?
cpp.runtimeLibrary: 'static'
将标志 /MD 替换为 /MT 并在调试版本中附加 'd' 后缀