У меня есть тестовый проект CLI / Cpp в VS2017. Я добавил проект (.exe) в качестве ссылки на этот проект unitTest. В проекте у меня также есть источник, который включает заголовочный файл, который также является частью проекта .exe.
Теперь во время сборки я получаю
headerFile.h : error C2011: 'className': 'class' type redefinition
Я попытался выполнить поиск по проекту поиск в SOlution Explorer, нашел 2 области, одна в .exe и другие в .h. Возможно, это проблема переопределения.
edit ... добавление кода, если это может помочь ...
file1.h
namespace nam
{
public ref class className
{
void aFunction(); //defined in its .cpp
}
}
У меня есть его его. cpp с определением aFunction ().
Теперь я строю проект с использованием file1.h и file2.h. и создайте project1.exe. В этом проекте у меня также есть другой код.
Теперь у меня есть проект unitTest для VS2017, названный project1UnitTest. Я добавил file1.h, так как мне нужен этот файл в каком-то файле unitTestfile (скажем, unitTestfil. cpp). Также я добавил проект project1 как Ссылки на project1UnitTest, чтобы связать зависимости (файлы определений)
#include "file1.h"
namespace nam
{
[TestClass]
public ref class UnitTests
{
[ClassInitialize()]
static void case1(TestContext^ testContext)
{
//some code
}
}
}
При сборке unitTestfil. cpp / unitTEst project Я получаю эту ошибку. Может ли кто-нибудь рассказать о том, как решить эту проблему?