首頁 >後端開發 >C++ >在 Visual Studio 2010 中從 C 呼叫 C 函數時如何解決「無法解析的外部符號」錯誤?

在 Visual Studio 2010 中從 C 呼叫 C 函數時如何解決「無法解析的外部符號」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-28 09:49:02526瀏覽

How to Resolve

Visual Studio 2010 中C 程式碼中的跨專案C 函數呼叫中的連結器錯誤

解決連結器錯誤「無法解析的外部符號g_fmt」在Visual Studio 2010 中從C 程式碼呼叫C 函數時遇到「問題,以下步驟可能會有所幫助:

1.組織與命名:

確保每個C 模組都有自己的標頭和實作(副檔名.c)。檔案修改:

將header.h 頭檔替換為functions.h,其中包含用於匯出函數的巨集。 :

建立對應的實作檔functions.c,並包含頭檔。

<code class="c">#define FUNCTIONS_EXPORT_API __declspec(dllexport) // For DLL export
#ifdef __cplusplus
extern "C" {
#endif

FUNCTIONS_EXPORT_API char *dtoa(double, int, int, int*, int*, char**);
FUNCTIONS_EXPORT_API char *g_fmt(char*, double);
FUNCTIONS_EXPORT_API void freedtoa(char*);

#ifdef __cplusplus
}
#endif</code>
在建構DLL 的專案中定義FUNCTIONS_EXPORT 巨集(或作為Visual Studio 中的專案設定)以標記要匯出的函數。 🎜>

其他注意事項:

在標頭中使用相同的包含防護文件和對應的實作文件。的項目具有正確的導入庫或引用正確的導入DLL。

以上是在 Visual Studio 2010 中從 C 呼叫 C 函數時如何解決「無法解析的外部符號」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn