[問題] 有人編譯過開源軟體WinMerge嗎?
WinMerge是一套開源文件比對軟體 http://winmerge.org/
因公司有些文字文件是用自己的加解密系統,因此只能用自己寫的程式去開檔、編輯
但那個程式很陽春,導致很多工作上的不便、沒效率。
最近看到WinMerge是open source,想說可以改看看在開檔的後端加入我們解密的部分
這樣就有一個好用的軟體可以快速比較、判讀文件。
今天實際checkout它的svn回來編譯,目錄裡面有.sln專案
而我的環境是 Windows 7 32位元 + Visual Studio Community 2013。
它裡面有3個靜態函示庫是設成外部依賴,要預先編譯好,(expat, pcre, scew)
但要編譯完這三個lib,首先要安裝好CMake
生成那3個庫之後再rebuild主程式的.sln,但最後我還是收到這樣的error
---
1>libcpmtd.lib(xlock.obj) : error LNK2038: mismatch detected for
'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value
'MDd_DynamicDebug' in 7zCommon.obj
---
後面很多重複的我就不貼了
因主程式的動態函示庫是設成MDd,而這個 7zCommon.obj是主程式的一部分。
但不知為何去關聯到libcpmtd.lib,我查了msdn,這是執行階段函示庫(CRT)的mtd版本
如果我配合它,把Runtime Library改為MTd,又會出現錯誤訊息
1>C:\Program Files\Microsoft Visual Studio
12.0\VC\atlmfc\include\afxver_.h(77): fatal error C1189: #error : Please use
the /MD switch for _AFXDLL builds
應該是說程式是MFC框架所以只能設/MD
到這邊就不知道怎麼辦了... 7zCommon為何一定要關聯到libcpmtd.lib呢
但是既然別人可以,那是不是我環境的問題?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.240.194
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1466780874.A.E24.html
※ 編輯: z1976 (36.224.240.194), 06/24/2016 23:25:46
→
06/25 14:50, , 1F
06/25 14:50, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章