我對C++沒有任何重要經驗,但最近不得不使用C++部分(實際上是apache模塊)參與到項目中。無法解析的外部符號:符號名稱末尾的@ 12 vs @ 8
現在我只是試圖建立一些現有的很多遺留代碼,面臨着很奇怪的問題,當VC++鏈接器找不到在Apache庫一個特定功能(同時看到他們的其餘部分)。
的代碼是這樣的(從專門建造的瑣碎樣品取來解決這個問題):
ap_rputs(ap_gm_timestr_822(r->pool, time(NULL)), r);
(這應該只是打印當前日期,但它並不真正的問題太多)
而且我得到的錯誤是這樣的:
error LNK2019: unresolved external symbol [email protected] referenced in function _hello_handler
ñ這個函數實際上存在於我正在鏈接的庫中,但它的符號名稱存在於最後的_ap_gm_timestr_822 @ 8(不是@ 12,但是@ 8)。
我試圖在MSVC++中使用幾乎所有可能的編譯器/鏈接器屬性 - 不幸的是沒有效果。
這個問題可能與這個事實有關:這個庫(它是Apache 1.3發行版的一部分)是用一個不同於/我使用的編譯器構建的嗎?我目前正在使用MS VC++ Express 2008.如果是這種情況,是否有人知道如何解決這個問題?
我不認爲這可能是因爲兩者都來自Apache分佈? – 2010-09-21 15:54:06
@Sergey,我敢打賭,有一些關於如何構建apache的選項,並且你對它們有一個錯位。 – 2010-09-21 15:55:31
_USE_32BIT_TIME_T取得了訣竅! – 2010-09-21 16:29:58