C_and_CPP 板


LINE

=================== 电脑排版 手机使用者阅读小心伤眼 =================== =================== 前言 =================== 刚刚有人说cmake的问题 小弟刚好前镇子也有碰到过 所以整理一些心得xd 有错还麻烦这边的高手指正 这边提供两种方式 以下都是在windows下讨论 Linux就像大家想的那样 =================== cmake使用说明 =================== ---------------------------------------- 0. 建立专案目录结构 ---------------------------------------- 目录结构大概会像 : projectdir - src - A - a.h - a.c - CMakeList.txt - B - b.h - b.c - CMakeList.txt - CMakeList.txt - build - debug ...etc. - release ...etc. 这是官方建议的结构 建议读者先创立资料夹目录 再开始coding 结构类似这样 ---------------------------------------- 方法1. mingw + cmake ---------------------------------------- 1-1. 需要安装的程式: (1) camke (2) mingw32或mingw64 (3) 确认 cmake mingw的bin资料夹有在环境变数path里面 (通常要自行设定) 1-2. 使用方式 (0) cd projectdir/build/debug 先到建置的路径 build/debug build/release都可以 (1) cmake ../../src -G "MinGW Makefiles" 使用Windows的CMD不会有问题 用git-bash记得要先把git-bash的bin路径加入path环境变数 否则会有问题 如果照上面设定第一次执行有问题(找不到sh.exe) 通常执行第二次就OK了XD 再不然就换回windows-CMD去执行指令吧 最後记得大小写别打错! 之前build opencv失败过 可参考 https://tinyurl.com/ybl7lw78 cmake指令加上-DBUILD_TESTS=OFF选项 (2) mingw32-make (3) 执行程式测试 ---------------------------------------- 方法2. M$VC + cmake ---------------------------------------- 2-1. 需要安装的程式: (1) camke (2) visual studio 2017 + MSBuild-15 (现在直接抓最新板是这个版本) (3) 确认 cmake MSBuild-15 VS2017-msvc的bin资料夹有在环境变数path里面 (通常要自行设定) 2-2. 使用方式 (0) cd projectdir/build/debug 先到建置的路径 build/debug build/release 都可以 (1) cmake ../../src -G "Visual Studio 15 2017 Win64" 15是MSBuild的版本 2017是visual studio的版本 Win64是64位元,若去除,则会建立32位元版本 注意大小写别打错 (2) MSBuild.exe XX.sln .sln相信很多用过visual studio的人都知道他是专案档 cmake会建置出visual studio的专案档 只要MSBuild XX.sln(XX是你的专案名称)即可完成建置 (3) 执行程式测试 =================== 结论 =================== 虽说在win上两个方式都可以 不过我还是建议方法2 尤其有再做cross-platform的人更建议2了 有些lib比方说opencv opencl cuda 在windows上都有prebuild的版本 prebuild版本都是用MSVC去编译的 所以只能选择方法2 当然如果想要挑战一下 方法1也不是说不行 我之前用mingw64 Build opncv失败 (2018.9.27无聊乱玩重新编译就过了 详见更新处) 就没在试过方法1就是了qq =================== 参考资料 =================== wiki book for cmake : https://tinyurl.com/ycv5hafh cmake-generators(7) : https://tinyurl.com/ldff4vs -- 我老婆-子瑜,不服出来湾阿 https://imgur.com/sCghzuF https://imgur.com/JvAE0Qu https://imgur.com/k9PCODr https://imgur.com/CZmFmeq https://imgur.com/S7FgYgF --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 120.105.133.190
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1537865034.A.AC9.html ※ 编辑: dzwei (120.105.133.190), 09/25/2018 17:04:19
1F:推 bigbite: 教学文先推 09/25 17:43
2F:推 alan23273850: 快m起来 09/25 18:12
实际上写起来还是要点进去我给的reference先看一下 那些只是最基本 可以用在大学/硕士的作业/论文 实务上要把cmake写的好 其实有不少技巧(很多我还不知道qq) 其实还有一个qt的qmake可以用 我也很推这个 不过导出dll的时候就要注意一些事情 ※ 编辑: dzwei (120.105.133.190), 09/25/2018 18:25:54
3F:推 eye5002003: 我会建议使用cmake-gui,切换option会比较方便 09/25 18:36
4F:→ eye5002003: build资料夹不用固定放在专案资料夹里面,这样比较灵活 09/25 18:37
我觉得一开始使用cmake gui 其实蛮痛苦的QQ
5F:→ eye5002003: 可以(debug/release)X(shared/static)各自建立一个 09/25 18:38
6F:→ eye5002003: MinGW不会强制建立debug资料夹,VS才会(可以叫它住手) 09/25 18:41
你说的应该是设定bin output吧~ ※ 编辑: dzwei (120.105.133.190), 09/25/2018 18:44:19
7F:推 eye5002003: VS不是会在bin output位置建立debug资料夹吗?可以要求 09/25 19:15
8F:→ eye5002003: VS别这麽做,设定RUNTIME_OUTPUT_DIRECTORY_DEBUG便可 09/25 19:16
OK 我了解了 ※ 编辑: dzwei (36.234.251.15), 09/27/2018 02:01:29
9F:推 Ryspon: 前几个月刚试过 (1) 是用 cmake-gui build 给 VS code 用 09/28 03:36







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP