cmake生成Win64位工程
使用cmake编译64的dll
一开始使用cmake --build .来生成了dll,在导入到java项目中使用的时候,才发现是32位的。导致程序不能正常运行,报错如下:
Exception in thread "main" java.lang.UnsatisfiedLinkError
Can't load IA 32-bit .dll on a AMD 64-bit platform12
即由于在AMD64的架构下调用了32位的dll文件,导致的安全问题。
看来需要让cmake编译出64位的dll才行啊。
下面分享一种可行的方法:
在介绍之前要先了解一个概念
cmake有两种编译的方式,一种是使用CMakeLists.txt文件,另一种是使用CMakeCache.txt文件
cmake [option] 指向含有顶级CMakeLists.txt的那个目录
cmake [option] 指向含有CMakeCache.txt的那个目录
第一种方式用于第一次生成cmake makefile,此后可以在build dir里直接cmake . 注意.表示当前目录,因为当前目录中已经有CMakeCache.txt,所以适用第二种方式。实际上cmake总是先检查指定的build dir中有没有CMakeCache.txt,如果有就按第二种方式处理;如果没有才寻找CMakeLists.txt使用第一种方式处理。
下面介绍方法:
1. 在CMakeLists.txt文件中添加
set(BUILD_USE_64BITS on)1
在你希望的输出目录下
cmake -G "Visual Studio 13 2015 Win64" .. //这个VS的版本取决于你安装的是哪个版本的VS1
仍然在输出目录下
cmake --build .1
构建成功,得到64bit版的dll了。
cmake生成Win64位工程相关推荐
- 使用CMake生成sln项目和VS工程遇到的问题
2019独角兽企业重金招聘Python工程师标准>>> 用vs运行cmake后的工程 参考:http://zhidao.baidu.com/link?url=AZRxI0jGDzo6 ...
- c语言编程题没有sln,使用CMake生成sln项目和VS工程遇到的问题
用vs运行cmake后的工程 1.单个文件示例: 1) 首先建立文件夹CMakeTest/Src 2) 在文件夹Src中建立两个文件main.c和CMakeLists.txt 3) main.c: # ...
- Visual Studio 32位64位的问题和如何编译32位64位工程的问题
Visual Studio自身没有32位和64位的分别,对于某一个特定的版本只有一个版本安装文件(即不存在32位版本的VS2015安装文件和64位版本的VS2015安装文件) 对于自己开发的工程,编译 ...
- CMake 常用总结二:CMake 生成静态库与动态库
引言 CMake 实践帮助我们对 CMake 有一个系统全面的了解,并且有大量示例以供参考,至少在实际项目中可以让我们有能力看懂并修改项目中现有的 CMake . 阅读完 CMake 实践文档,认为自 ...
- openHEVC在Windows下构建vs32/64位工程(vs2013)
前期准备 yasm:http://yasm.tortall.net/Download.html openHEVC: https://github.com/OpenHEVC/openHEVC SDL2. ...
- 使用Cmake生成跨平台项目编译解决方案
项目最近有需求在windows下面运行,我花了几周时间将linux的服务器移植到windows下面,目前已经能够正常运行服务器,目前又有了新需求,两边的代码结构和组织是分开的,因此为了两边能够同步维护 ...
- win10子系统linux下cmake编译32位程序
文章目录 Ubuntu 18运行32位程序 添加软件源 安装编译环境 编写CMakeLists.txt cmake编译 运行程序 SUSE 15.0运行32位程序 m32编译 添加软件源 安装qemu ...
- CMake管理VS+Qt工程
CMake:是一个比make更高级的编译配置工具,它可以根据不同平台.不同的编译器,生成相应的Makefile或者vcproj项目. 近期使用Visual Studio 2015 建立了Qt工程,不使 ...
- 生成24位字符串ID__IdGenerator.java
此工具类用于生成24位字符串ID,唯一不重复. 直接通过 IdGenerator.get() 获取. 源码如下:(点击下载源码 - IdGenerator.java ) 1 import java.n ...
最新文章
- 射影几何笔记4:证明的思路
- JAVA面试中问及Hibernate与 Mybatis的对比
- ABAP开发中常用的两个F4搜索帮助函数的区别
- hdu 1251 统计难题(trie树入门)
- 按自己喜欢的方式过一生?
- scrapy模拟模拟点击_模拟大流行
- entity framework 删除数据库出现错误的解决方法--最土但是很有效的方法
- Network 第三篇 - STP生成树协议
- 【ECharts教程】在实战中学习(超炫酷的数据可视化大屏)
- 条件覆盖,路径覆盖,语句覆盖
- html 圣杯布局 高度,web圣杯布局
- 网页开发工具VSCode的使用
- RSTP配置_思科模拟器
- 不会用PS、Excel更改证件照颜色没关系,用Word更改不用1分钟!
- 计算机控制面板有何用途,控制面板上面功能都有什么作用
- 笔记本Ubuntu安装失败的一般原因
- python - re
- asset store_在Asset Store上发布成功的产品
- 长截图,滚动截图工具推荐
- Project3_The_Flower_shop_in_Internet