[問題] 有人編譯過開源軟體WinMerge嗎?

看板C_and_CPP (C/C++)作者 (z1976)時間9年前 (2016/06/24 23:07), 9年前編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
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
誠心建議直接用kdiff3,免得日後還要再搞一次
06/25 14:50, 1F
文章代碼(AID): #1NRKpAua (C_and_CPP)
文章代碼(AID): #1NRKpAua (C_and_CPP)