Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何防止CMake安装.lib文件_Windows_Cmake_Java Native Interface - Fatal编程技术网

Windows 如何防止CMake安装.lib文件

Windows 如何防止CMake安装.lib文件,windows,cmake,java-native-interface,Windows,Cmake,Java Native Interface,我正在使用MSVC+CMake在Windows上交叉编译一个JNI DLL,我注意到它在安装时生成了一个.lib文件。我正在使用add_library(mylibname共享…和install(目标mylibname DESTINATION${CMAKE_install_LIBDIR})创建和安装共享库。有没有办法防止安装此文件,因为JNI库在运行时不需要它?.lib文件是作为命令的存档子句的一部分安装的。您可以选择您想要的install命令的那些子句,而忽略其他子句。但是,请注意,如果没有.l

我正在使用MSVC+CMake在Windows上交叉编译一个JNI DLL,我注意到它在安装时生成了一个
.lib
文件。我正在使用
add_library(mylibname共享…
install(目标mylibname DESTINATION${CMAKE_install_LIBDIR})
创建和安装共享库。有没有办法防止安装此文件,因为JNI库在运行时不需要它?

.lib
文件是作为命令的
存档
子句的一部分安装的。您可以选择您想要的
install
命令的那些子句,而忽略其他子句。但是,请注意,如果没有
.lib
文件,则无法针对您的库构建任何项目。(但如果一个项目已经构建,那么它可以使用您的库来运行。)至于
:cmake_mode_t
文件,情况完全不同(参见示例),应该单独询问。将
运行时
添加到我的
安装(目标是mylibname运行时目标${cmake_install\u LIBDIR})
命令出现以解决
.lib
问题。这是一个JNI库,所以它不应该被链接到它的最终形式之外,也不应该在它的最终形式之外使用。对于
:cmake_mode_t
文件,该链接有助于解释它们出现的原因,而不是如何禁用该行为。我需要交叉编译其中几个目标,但我不需要这些权限。。。我不是为debian或任何其他*nix系统打包的。是的,我理解该链接既不能解释您的情况,也不能解决它。这只是为了演示安装(或不安装)
.lib
文件与创建(或不创建):
cmake\u mode\u t
文件完全无关。在堆栈溢出中,我们希望有一个关于单个问题的问题帖子,因此最好将问题帖子分成两部分。还有,对我来说。JNI的性质似乎与这两个问题非常相关,考虑将这个概念添加到问题后。