Ошибка линкера при вызове функции C из кода C ++ в различном проекте VS2010C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка линкера при вызове функции C из кода C ++ в различном проекте VS2010

Сообщение Anonymous »

Я пытаюсь включить код C, который я нашел в наш проект C ++. Функция определяется как эта в файле C. < /p>

#ifdef __cplusplus
extern "C" {
#endif
extern char *dtoa(double, int, int, int *, int *, char **);
extern char *g_fmt(char *, double);
extern void freedtoa(char*);
#ifdef __cplusplus
}
#endif

char *
g_fmt(register char *b, double x)
{
< /code>

Проект VS, который я включаю, - это создание DLL. Файл собирается как C, другие файлы в проекте собираются как C ++. < /p>

Я добавил заголовок, чтобы включить в мои файлы c ++ < /p>

#ifndef G_FMT_H
#define G_FMT_H
#ifdef __cplusplus
extern "C" {
#endif
extern char *dtoa(double, int, int, int *, int *, char **);
extern char *g_fmt(char *, double);
extern void freedtoa(char*);

#ifdef __cplusplus
}
#endif
#endif //G_FMT_H
< /code>

В другом проекте в решении я включаю свой заголовок и попробую вызвать функцию g_fmt. < /p>

#include "header.h"
...
g_fmt(my_array, 2.0);
< /code>

Этот проект ссылается на другой, я могу вызвать функции C ++ в первой библиотеке без каких -либо проблем. Однако добавление вышеупомянутой строки дает мне ошибку LNK2001. < /P>

error LNK2001: unresolved external symbol g_fmt
< /code>

Я нашел ряд других вопросов о микшировании C и C ++, и я, кажется, сделал все необходимое с ключевыми словами Extern в нужных местах, однако я все еще не в состоянии связать. Есть ли что -нибудь конкретное, что мне нужно сделать в VS2010?

Подробнее здесь: https://stackoverflow.com/questions/305 ... 10-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»