看板 C_and_CPP 關於我們 聯絡資訊
WinMerge死掉很久了 (原開發者當初說 WinMerge 3 要整個用Qt改寫,結果就此擺爛...) 不過OpenSource就是有無限的可能性 網路上有心人分支出去開發,改名叫做 WinMerge 2011 https://bitbucket.org/jtuc/winmerge2011 一直到最近都有在維護 可以考慮改用這個版本 ※ 引述《z1976 (z1976)》之銘言: : 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.235.83.217 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1466782574.A.D57.html ※ 編輯: chchwy (36.235.83.217), 06/24/2016 23:37:00