Visual Studio 2010의 C 코드에서 프로젝트 간 C 함수 호출의 링커 오류
링커 오류 "확인되지 않은 외부 기호 g_fmt"를 해결하려면 "가 Visual Studio 2010의 C 코드에서 C 함수를 호출하는 동안 발생하는 경우 다음 단계가 도움이 될 수 있습니다.
1. 조직 및 이름 지정:
각 C 모듈에 자체 헤더와 구현(확장자 .c)이 있는지 확인하세요. 인클루드 가드로 G_FMT_H와 같이 파일 및 매크로에 대해 일관된 명명 규칙을 사용합니다.
2. 헤더 파일 수정:
header.h 헤더 파일을 함수 내보내기용 매크로가 포함된 function.h로 바꾸세요.
<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>
3. 구현 파일 수정:
해당 구현 파일인 function.c를 생성하고 헤더 파일을 포함합니다. 내보내기에 필요한 기능과 매크로를 정의하세요.
<code class="c">#include "functions.h" char *dtoa(double, int, int, int*, int*, char**) {} // Define functions char *g_fmt(char*, double) {} void freedtoa(char*) {}</code>
4. 함수 내보내기:
DLL을 빌드하는 프로젝트에서(또는 Visual Studio의 프로젝트 설정으로) FUNCTIONS_EXPORT 매크로를 정의하여 내보낼 함수를 표시합니다. 또는 Visual Studio IDE에서 자동으로 정의한 매크로인 ${YOUR_PROJECT_NAME}_EXPORTS를 사용하세요.
추가 고려 사항:
위 내용은 Visual Studio 2010의 C에서 C 함수를 호출할 때 \'해결되지 않은 외부 기호\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!