Die Integration von C-Code in ein C-Projekt in verschiedenen VS2010-Projekten hat zur Folge in einem Linkfehler beim Aufruf einer C-Funktion aus C-Code. Der als LNK2001 identifizierte Fehler bezieht sich auf ein ungelöstes externes Symbol.
Um dieses Problem zu beheben, stellen Sie sicher, dass die Codebasis ordnungsgemäß organisiert ist, indem Sie bestimmte Richtlinien einhalten:
Modularisieren Code:
Header und Implementierung erstellen Dateien:
Exporte und Importe verwalten:
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
}
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3