RTC*這些符號是Visual C++編譯器(據說是9以上的版本,對應visual studio 2008以上版本)的Runtime Check 功能的入口。
在編譯庫文件時,如果選擇了運行時檢查,那麼別的應用程序在鏈接這個庫文件進行編譯的時候,就有可能報如下錯誤:
try.obj : error LNK2001: unresolved external symbol _RTC_Shutdown
try.obj : error LNK2001: unresolved external symbol _RTC_InitBase
或
main.obj : error LNK2001: 無法解析的外部符號 _RTC_Shutdown
main.obj : error LNK2001: 無法解析的外部符號 _RTC_InitBase
或
D:/download/LAMP/rrdtool-1.4.5/win32/Debug//rrdlib.lib(Debug/rrd_version.obj):(.rtc$TMZ+0x0): undefined reference to `_RTC_Shutdown'
D:/download/LAMP/rrdtool-1.4.5/win32/Debug//rrdlib.lib(Debug/rrd_version.obj):(.rtc$IMZ+0x0): undefined reference to `_RTC_InitBase'
collect2: ld returned 1 exit status
解決方法就是修改“基本運行時檢查”,然後重新編譯庫文件。
修改方法:
右鍵點擊項目,修改:屬性 > 配置屬性 > C/C++ > 代碼生成 > 基本運行時檢查,將值從“兩者(......)”改爲“默認值”。