2015-01-20 5 views
0

У меня есть проект C++ в MSVS 2010 Express. Я планировал написать несколько модульных тестов для проверки этого проекта. Сейчас они идут по следующим направлениям:Как запустить cl.exe из cmd, используя те же настройки, что и в MSVS?

#include "header.h" //Header is the header for the source I want to test 

void testSomeFunction() 
{ 
    //Call function (from external src, prototype in header.h) 
    //Save output to file 
} 

int main() 
{ 
    testSomeFunction(); 
    return 0; 
} 

Я создаю эти исходные файлы вне моего проекта, потому что я хочу, чтобы иметь возможность запускать каждый из них в качестве отдельного исполняемого файла, но у меня возникли проблемы с получением линкера Microsoft в свяжите их.

Это моя проблема до сих пор (выход CMD):

cl ut_Converter.cpp Converter.obj 

ut_Converter.cpp 
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\xlocale(323) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc 

Microsoft (R) Incremental Linker Version 10.00.40219.01 
Copyright (C) Microsoft Corporation. All rights reserved. 

/out:ut_Converter.exe 
ut_Converter.obj 
Converter.obj 
Converter.obj : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in ut_Converter.obj 
Converter.obj : fatal error LNK1313: pure module detected; cannot link with ijw/native modules 

Я никогда не использовать продукты Microsoft, я знаком с использованием GNU инструменты GCC и сделать, но я должен использовать инструменты Microsoft для это и я понятия не имею, как они работают.

Возможно, я собираюсь строить эти тесты глупым способом, но это лучший способ, о котором я могу думать прямо сейчас.

Это то, что я хочу сделать:

  1. компиляции исходных файлов в моем проекте в объектные файлы
  2. Компиляция мои тестовые файлы в объектные файлы
  3. Ссылка на файл тестового объекта с соответствующим проектом объектные файлы для создания тестового исполняемого файла

Как мне это сделать? (Я предполагаю, что есть некоторые настройки, которые мне нужно настроить, чтобы все было совместимо, но я понятия не имею, что это такое или как я буду их устанавливать)

Дополнительно: Я знаю, что он упоминает уровень отладки, но я «Будьте готовы поставить пари, что будут другие несовместимые настройки. Есть ли способ узнать, какие настройки находятся в программе, чтобы я мог передать их в cl.exe при запуске?

Редактировать: Когда я говорю о командной строке, я имею в виду тот, который поставляется с Visual Studio со всеми настройками переменных среды.

+1

Создайте соответствующий проект, содержащий ваши тестовые файлы, и используйте MSBuild из «Командная строка разработчика» для создания проекта в командной строке. Если вы действительно хотите называть инструменты вручную, хорошей отправной точкой было бы свертывание многострочной системы сборки (Tools-> Options-> Build and Run) и просмотр сгенерированных команд для фиктивного проекта. – Cameron

+0

Ах, я смог сделать то, что хочу, создав новый проект. Речь шла только о том, чтобы включить внешние файлы в проект - мое отсутствие знакомства с VS меня отключило. – Francis

ответ

2

Вы пытались перейти к программам/Microsoft Visual .../... Tools/... Command Prompt и запустить из этого окна консоли dos, которое имеет настройки переменных среды?