Проблемы с LNK2001 при создании модульного теста для кода C - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь настроить модульный тест для кода C с собственным модульным тестовым проектом в Visual Studio 2017. Но есть некоторые проблемы с Ошибка инструментов компоновщика LNK2001 при включении функций из других библиотек или даже из других h файлов в тот же проект (lib).

Нет проблем со связыванием при сборке библиотек, без проекта Unit Test.

Работает нормально, когда я выполняю модульное тестирование против одного h. и c-file , которые не имеют других зависимостей.Но как только я включаю вызовы функций в другие h-файлы.У меня проблемы со связыванием.

Это похоже на мой самый лучший проект (c ++), не имеет такого же доступа, как проекты (c).

Понятия не имею, как решить эту ошибку.Но я могу добавить больше информации о проблеме, если нужно, просто спросите, и я постараюсь ее получить.

1 Ответ

0 голосов
/ 12 июня 2018

Вы также должны объяснить компилятору C ++ в Visual Studio, что заголовок C появляется, когда вы включаете объявление для функции C.Поэтому ваш myTes.cpp должен начинаться с:

extern "C" {
#include "somecode.h"
}

static_lib1.h должен содержать что-то вроде:

 #ifndef STATIC_LIB1_H_
 #define STATIC_LIB1_H_

 SWord doSomeThing();

 #endif

Я думаю, что это должно решить вашу проблему Ошибка инструментов компоновщика LNK2001 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...