有一个模块:
mod-native
------ build
------ sources
------------ myDll
----------------------- cpp
------------------------------ dllmain.cpp
------------------------------ MakeString.cpp
------------------------------ stdafx.cpp
------------------------------ MyDll.cpp
----------------------- headers
------------------------------ base64.h
------------------------------ tmain.h
------ build.gradle
所以,我的build.gradle
apply plugin: 'cpp'
model{
toolChains{
vs(VisualCpp){
installDir "C:\\Microsoft Visual Studio 12.0"
windowsSdkDir "C:\\Microsoft SDKs\\Windows\\v7.0"
}
}
// target binary for win32
platforms{
win32{
architecture "i386"
operatingSystem "windows"
}
}
components {
toCms(NativeLibrarySpec){
sources{
cpp{
source.srcDir "sources/myDll/cpp"
exportedHeaders.srcDir "sources/myDll/headers"
}
}
}
}
}
我想获取MyDll.dll文件,但似乎gradle尝试构建* .lib文件而不是* .dll。我该如何构建MyDll.dll?谢谢!
答案 0 :(得分:0)
如果未指定,gradle将同时构建* .lib和* .dll,这取决于您执行的任务。
如果执行任务 toCmsDebug 共享库,它应该可以运行
注意:您应该使用gradle默认布局(因此您不必手动设置 srcDir ):
src/
----*component name*/
---------cpp/
---------headers/
注2: 当你想编译* .exe时,一定要运行以“install”开头的任务(例如: installMyCmsDebugExecutable ),这会产生很大的不同,因为Visual Studio会运行这个。
您可以在* .vcxproj中查看为构建执行的任务,xml标记为<NMakeBuildCommandLine>