Re: [問題] Qt的shared lib
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間16年前 (2009/04/01 17:16)推噓10(10推 0噓 19→)留言29則, 6人參與討論串2/2 (看更多)
※ 引述《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
推
04/02 00:31, , 1F
04/02 00:31, 1F
→
04/02 00:31, , 2F
04/02 00:31, 2F
→
04/02 00:32, , 3F
04/02 00:32, 3F
→
04/02 00:32, , 4F
04/02 00:32, 4F
→
04/02 00:33, , 5F
04/02 00:33, 5F
推
04/02 06:43, , 6F
04/02 06:43, 6F
→
04/02 06:43, , 7F
04/02 06:43, 7F
→
04/02 06:44, , 8F
04/02 06:44, 8F
推
04/02 09:08, , 9F
04/02 09:08, 9F
→
04/02 09:08, , 10F
04/02 09:08, 10F
推
04/02 09:53, , 11F
04/02 09:53, 11F
→
04/02 09:56, , 12F
04/02 09:56, 12F
→
04/02 09:56, , 13F
04/02 09:56, 13F
※ 編輯: littleshan 來自: 61.217.32.52 (04/02 10:36)
→
04/02 10:54, , 14F
04/02 10:54, 14F
推
04/02 11:02, , 15F
04/02 11:02, 15F
→
04/02 11:02, , 16F
04/02 11:02, 16F
→
04/02 11:04, , 17F
04/02 11:04, 17F
推
04/02 12:08, , 18F
04/02 12:08, 18F
→
04/02 12:09, , 19F
04/02 12:09, 19F
→
04/02 12:10, , 20F
04/02 12:10, 20F
推
04/02 12:14, , 21F
04/02 12:14, 21F
推
04/02 12:17, , 22F
04/02 12:17, 22F
→
04/02 12:18, , 23F
04/02 12:18, 23F
→
04/02 12:19, , 24F
04/02 12:19, 24F
→
04/02 12:20, , 25F
04/02 12:20, 25F
→
04/02 12:21, , 26F
04/02 12:21, 26F
推
04/02 12:48, , 27F
04/02 12:48, 27F
→
04/02 13:06, , 28F
04/02 13:06, 28F
推
04/02 23:47, , 29F
04/02 23:47, 29F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章