2011-04-12 86 views
0

我開發了一個非常簡單的基於C++的可可觸摸靜態庫和一個簡單的基於觸摸的應用程序,其中包括這個庫。從iPhone應用程序調用C++可可觸摸靜態庫

該應用程序給出編譯錯誤「未定義符號」對應於被調用的庫函數。 ld:找不到符號。

但是,如果我使基於C的可可觸摸靜態庫,(具有相同的功能),應用程序被成功構建並運行良好。

可能是什麼問題?基於C++的可可觸摸庫不允許嗎?

感謝

+0

您可能希望將使用C++ lib的文件的文件類型設置爲「cpp-opjcpp」,然後進行清理和編譯。 – govi 2011-04-12 14:00:45

+0

聽起來像一個名字mangling問題 - 按照govi的建議做,或者,作爲替代方法,將.cpp/.cc文件重命名爲.mm並重新編譯。 – Till 2011-04-12 16:49:02

+0

該庫具有.cpp和.h源代碼,並且測試應用程序具有.m文件。這是給編譯錯誤。爲了解決這個問題,我在測試應用程序中將.m文件的文件擴展名更改爲.mm。它編譯,鏈接併成功運行。 謝謝! – RDX 2011-04-13 13:45:30

回答

0

圖書館擁有的.cpp和.h源代碼和測試應用程序有.m文件。這是給編譯錯誤。爲了解決這個問題,我在測試應用程序中將.m文件的文件擴展名更改爲.mm。它編譯,鏈接併成功運行。謝謝

相關問題