正如我在评论中所说,这是我们如何做到这一点的一个例子.

if( CMAKE_SIZEOF_VOID_P EQUAL 8 )

MESSAGE( "64 bits compiler detected" )

SET( EX_PLATFORM 64 )

SET( EX_PLATFORM_NAME "x64" )

else( CMAKE_SIZEOF_VOID_P EQUAL 8 )

MESSAGE( "32 bits compiler detected" )

SET( EX_PLATFORM 32 )

SET( EX_PLATFORM_NAME "x86" )

endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )

...

IF( EX_PLATFORM EQUAL 64 )

MESSAGE( "Outputting to lib64 and bin64" )

# ---------- Setup output Directories -------------------------

SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY

${YourSoftwarePath}/lib64

CACHE PATH

"Single Directory for all Libraries"

)

# --------- Setup the Executable output Directory -------------

SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY

${YourSoftwarePath}/bin64

CACHE PATH

"Single Directory for all Executables."

)

# --------- Setup the Executable output Directory -------------

SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY

${YourSoftwarePath}/lib64

CACHE PATH

"Single Directory for all static libraries."

)

ELSE( EX_PLATFORM EQUAL 64 )

# ---------- Setup output Directories -------------------------

SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY

${YourSoftwarePath}/lib

CACHE PATH

"Single Directory for all Libraries"

)

# --------- Setup the Executable output Directory -------------

SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY

${YourSoftwarePath}/bin

CACHE PATH

"Single Directory for all Executables."

)

# --------- Setup the Executable output Directory -------------

SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY

${YourSoftwarePath}/lib

CACHE PATH

"Single Directory for all static libraries."

)

ENDIF( EX_PLATFORM EQUAL 64 )

...

add_library(YourSoftware SHARED

${INCLUDES}

${SRC}

)

它对我们来说效果很好,即使在我们的生产过程中也是如此.

它允许top为我们的配置做好准备:32位和64位.之后我们必须在两个平台上构建.

c语言编译 64位,cmake – 编译32位和64位相关推荐

  1. linux cmake 编译64位,cmake编译win下64位obs

    obs是一款开源编码推流工具,简单易用,非常流行. 一次项目中,发现本台式机I3处理器下32位obs推流CPU使用率100%.而使用的第三方设备在64位下,性能较好. 所以需要编译64位obs并且编译 ...

  2. VS 2015 64位CMake编译openCV3.1.0必备文件

    用Cmake编译的时候遇到编译出错,原因是下载两个文件的时候下载时间超出了编译设定的响应时间.然后需要在ippcv和ffmpeg中分别添加下列文件 链接:http://pan.baidu.com/s/ ...

  3. gcc编译可执行文件和cmake编译可执行文件

    gcc编译 gcc的下载(下载mingw,里面包含gcc) 下载安装MinGW-w64详细步骤(c/c++的编译器gcc的windows版,win10真实可用) gcc编译可执行文件 由源码转换为可执 ...

  4. 64位计算机比32快多少,64位系统和32位系统哪个速度快

    在配置较高的电脑64位会更快一些.若是配置较低运行内存小于4G的电脑,若是装了64位系统则有可能会卡频. 64位的优缺点(以win7为例): 优点:win7 64位系统最大的优点体现在内存上.它可以使 ...

  5. 乐鑫esp8266学习rtos3.0笔记:如何在 windows 用 CMake 编译 ESP8266 项目。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于C SDK的ESP8266开发技术全系列笔记 一.N ...

  6. 使用CMake编译OsgEarth

    编译OsgEarth之前需要编译依赖的Lib: 1.编译OSG VS2015+QT5.10+x64编译OSG 2.编译Geos 使用CMake编译Geos3.5.0 3.编译GDAL 使用nmake编 ...

  7. win10子系统linux下cmake编译32位程序

    文章目录 Ubuntu 18运行32位程序 添加软件源 安装编译环境 编写CMakeLists.txt cmake编译 运行程序 SUSE 15.0运行32位程序 m32编译 添加软件源 安装qemu ...

  8. linux 64平台上编译32位程序: GCC编译选项 -m64 -m32 -mx32

    -m32选项将int,long和指针设置为32位,并生成在任何i386系统上运行的代码. -m64选项将int设置为32位和long,指针设置为64位,并为AMD的x86-64体系结构生成代码. -m ...

  9. 32位/64位系统,jdk32位,64位,32/64位jdk编译出来的class和eclipse 32位和64位

    首先关于32位/64位系统,jdk32位,64位,32/64位jdk编译出来的class和eclipse 32位和64位的一些对应关系做些说明. 1.32位操作系统不可以装64位jdk,64位操作系统 ...

最新文章

  1. 杨老师课堂_Java核心技术下之控制台模拟记事本案例...
  2. python123 https://github.com/jackfrued/Python-100-Days/tree/master/Day01-15
  3. Mysql5.6主从复制-基于binlog
  4. 了解OutOfMemoryError
  5. Python 技术篇-打开指定文件夹、目录、路径方法,运行指定文件演示
  6. springboot 读取nacos配置的流程和数据变化实时更新机制
  7. VMware客户端vSphereClient新建虚拟机
  8. sql server死锁_了解SQL Server中的死锁图的XML描述
  9. Spring 整合 Junit4 进行单元测试
  10. 老司机请注意:POS机可盗刷ETC联名卡
  11. mysql并发控制之MVCC
  12. sql 截取字符串:
  13. linux如何安装usb转串口驱动,虚拟机下Ubuntu安装usb转串口驱动
  14. SuiteCRM 跨站脚本漏洞复现(CVE-2020-14208)
  15. OpenCV4机器学习(一):OpenCV4+VS2017环境搭建与配置
  16. Java集成建行龙支付接口(详细)
  17. android版本连击,死神vs火影无限能量连招版本-死神vs火影无限连招版v3.2 安卓版-腾牛安卓网...
  18. “华为”和“荣耀”哪个好?同等品质年轻人更喜欢Ta
  19. 评测酷睿i5 1240p和锐龙r5 6600u选哪个 i51240p和锐龙r56600u对比
  20. android vold磁盘管理

热门文章

  1. 深有体会的积极人生态度
  2. 默认以管理员启动_如何始终以管理员身份运行 CMD 命令提示符和 PowerShell
  3. C语言学习之用函数处理,而且用指针类型的数据作函数参数,对输入的两个整数按大小顺序输出
  4. 计算机在材料科学的应用论文,计算机在材料科学中的应用论文
  5. adams求微分方程c语言,ADAMS在求解微分方程组中的应用
  6. 谈谈进程和线程的区别
  7. flask高级编程 LocalStack 线程隔离
  8. hihocoder #1388 : Periodic Signal NTTFFT
  9. 22 Notification 通知栏代码
  10. ASP.NET 打包多CSS或JS文件以加快页面加载速度的Handler