看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《legnaleurc (CA)》之銘言: : 這幾天嘗試把某個作品 port 到 Windows 上 : 我把其中一個部分分離出來變成 shared lib : 在 Linux 上可以直接 link *.so : 但是在 Windows 上用 VC 編譯 : 老是不會生成 *.lib , 只有 *.dll : 偏偏 VC 的 linker 只能連 *.lib : 請問是專案那裡還要設定什麼嗎? 你的 symbol 要加上 __declspec(dllexport) 如下: __declspec(dllexport) void SomeFunc() { ... } __declspec(dllexport) int SomeVar; 這樣這些 symbol 才會輸出到 .lib 中 你應該是少做了這步 以致於 VC 找不到要 export 的 symbol,乾脆就不生 .lib 了 另外你的 client code 必需用 __declspec(dllimport) 來宣告 symbol 如下: // XXX.h __declspec(dllimport) void SomeFunc(); __declspec(dllimport) int SomeVar; Windows 上寫程式很麻煩滴 : PS: : 不要問我為什麼不用 MinGW, 我有試過, 遭遇了不少挫折 OTZ : IDE的話, QtCreator和VC都試過, 用的都是 cl + link 什麼挫折? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.151.2
legnaleurc:這...= = 那如果是class呢? 04/02 00:31
legnaleurc:我有點想放棄Windows了.... 04/02 00:31
legnaleurc:挫折都是在建立編譯環境上(Loki,Boost,FFMpeg等) 04/02 00:32
legnaleurc:還有一些thread的lib,我自己本身的程式反而要改的地方 04/02 00:32
legnaleurc:很少 04/02 00:33
sunneo:class的export是 class DLLIMPORT ClassName{ ... } 04/02 06:43
sunneo:只需要這樣寫 class的member function就會匯出 04/02 06:43
sunneo:DLLIMPORT是在dll專案的巨集 04/02 06:44
zxvc:l大,boost不用自己編。這邊就可以抓編好的: 04/02 09:08
zxvc:http://www.boostpro.com/ 04/02 09:08
zxvc:剛才發現BoostPro installer 1.38似乎有bugs,一開始有一個對 04/02 09:53
zxvc:話框會問你要用哪一種compiler與linking型態。但選了無效果。 04/02 09:56
zxvc:我已經回報這個bug,等待回覆中。 04/02 09:56
※ 編輯: littleshan 來自: 61.217.32.52 (04/02 10:36)
james732:我還以為只有我鬼打牆 選了一次還要再一個個勾選 XDD 04/02 10:54
zxvc:遇到有bug就回報吧,可以練練英文。不過回報工作還滿累人的 04/02 11:02
zxvc:。(拖人下水 XD) 04/02 11:02
zxvc:回報bug算一種慈善事業,麻煩自己、造褔後人。 04/02 11:04
legnaleurc:我一直以為那個boost的installer只能用在VC上...orz 04/02 12:08
legnaleurc:然後一直搞不清楚 msys, MinGW, CygWin 之間的關係 04/02 12:09
legnaleurc:我覺得他們把事情弄得好複雜= = 04/02 12:10
zxvc:l大,那個boost installer不是本來就用在VC上!? 04/02 12:14
legnaleurc:所以說當初我的困難是發生在MinGW上...說明頁好像還 04/02 12:17
legnaleurc:說不官方支援MinGW ... ? 04/02 12:18
legnaleurc:然後某些Loki不知道為什麼用MinGW編就會硬選pthread 04/02 12:19
legnaleurc:真的很煩,光搞這些就飽了 04/02 12:20
legnaleurc:s/某些// typo 04/02 12:21
zxvc:了解了,原來你想在Windows上用MinGW,但要自己編boost很麻煩 04/02 12:48
littleshan:編boost不難吧 只是花時間 04/02 13:06
kvykn:http://0rz.tw/0GRgd 我編過 初步測試是OK的 04/02 23:47