將C 程式碼整合到不同專案中的C專案中導致從C 程式碼呼叫C 函數時出現連結錯誤。此錯誤標識為 LNK2001,與未解析的外部符號有關。
要修正此問題,請遵循特定準則來確保程式碼庫的正確組織:
模組化程式碼:
建立標頭和實作檔案:
管理出口與匯入:
functions.h
<code class="c">#pragma once #define FUNCTIONS_EXPORT_API #if defined(__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*); #if defined(__cplusplus) } #endif</code>
<code class="c">#define FUNCTIONS_EXPORTS #include "functions.h" char *dtoa(double, int, int, int*, int*, char**) { // Function implementation } char *g_fmt(char*, double) { // Function implementation } void freedtoa(char*) { // Function implementation }</code>
以上是如何解決 VS2010 中混合 C 和 C 專案中的 LNK2001 連結器錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!