C コードを別の VS2010 プロジェクトの C プロジェクトに統合すると、次のような問題が発生します。 C コードから C 関数を呼び出すときにリンク エラーが発生する。このエラーは LNK2001 として識別され、未解決の外部シンボルに関連しています。
この問題を修正するには、次の特定のガイドラインに従ってコードベースが適切に構成されていることを確認してください。
モジュール化コード:
ヘッダーの作成と実装ファイル:
エクスポートとインポートの管理:
functions.h
#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
functions.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
}
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3