Почему мой код C не компилируется в EXE - PullRequest
1 голос
/ 16 ноября 2008

Я только начинаю писать, пытаясь написать простую программу на C, и я использую Visual Studios для этого. Я слышал, что он компилирует C и C ++. И я знаю, что это так, потому что он говорит, что компилируется. Единственная проблема заключается в том, что когда я иду в выходной каталог, в каталоге нет файла .exe! Имеет следующее:

  • BuildLog.html
  • mt.dep
  • test1.obj
  • vc90.idb
  • vc90.pdb

Но это все! Нет EXE. Я просмотрел все параметры и убедился, что он настроен на компиляцию в исполняемый файл, и я проверил выходной файл. Это $ (OutDir) \ $ (ProjectName) .exe. Но увы, exe не появляется. Есть идеи?

Также, когда я пытаюсь нажать f5 и запустить с дебютом, я получаю сообщение об ошибке

Это приложение не удалось запустить потому что MSVCR90.DLL не был найден. Переустановка приложения может исправить эта проблема

Ответы [ 5 ]

4 голосов
/ 16 ноября 2008

По умолчанию, когда вы создаете новый проект C ++ в новом решении, вы получаете структуру папок, подобную этой:

C: \ Projects \ YourSolution C: \ Проекты \ YourSolution \ YourCppProject

YourSolution содержит YourSolution.sln, а YourCppProject содержит YourCppProject.vcproj.

При создании решения все промежуточные файлы из YourCppProject сохраняются в папке YourCppProject \ Debug или YourCppProject \ Release, но в результате YourCppProject.exe попадает в папку YourSolution \ Debug или YourSolution \ Release.

Ваш $ (OutDir) настраивается в General -> Output Directory. Проверьте конфигурацию проекта для YourCppProject и убедитесь, что для вывода используется $ (SolutionDir).

2 голосов
/ 16 ноября 2008

это консольное приложение C / C ++? Вы использовали мастер проекта для его создания?

у вас есть такая функция, как

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    printf("Hello, world!\n");
    return 0;
}

в модуле .c, обычно main.c?

что происходит, когда вы нажимаете F5 для запуска с отладкой? как выглядит ваш журнал сборки?

1 голос
/ 16 ноября 2008

Самое простое, что нужно сделать, это начать все сначала, убедившись, что вы выбрали правильный тип проекта.

Чтобы скомпилировать простой старый код C с помощью Visual Studio, выберите Visual C++ > General > Empty Project в меню «Новый проект». Это создаст 3 пустых папки: файлы заголовков, файлы ресурсов и исходные файлы. Щелкните правой кнопкой мыши на Source Files, выберите Add > New Item. Затем добавьте main.cpp, переименуйте его в main.c и начните кодирование.

0 голосов
/ 16 ноября 2008

Звучит так, будто вы нажали только на compile, и вы получите файл .obj, но вам все равно нужно нажать build.

0 голосов
/ 16 ноября 2008

http://msdn.microsoft.com/en-us/library/ms235299.aspx

Примечание:

Не поддерживается распространение C / C ++ приложения, которые построены без манифеста. Visual C ++ библиотеки не могут быть использованы C / C ++ приложения без манифеста привязка приложения к этим библиотеки. Для получения дополнительной информации см. Выбор метода развертывания.

Если DLL недоступна и Windows не может загрузить эту DLL для вашего приложение, вы можете получить следующее сообщение об ошибке:

Это приложение не удалось запустить потому что MSVCR90.dll не был найден. Переустановка приложения может исправить эта проблема.

Чтобы устранить эти ошибки, вы должны сделать уверен, что ваше приложение построено правильно и библиотеки Visual C ++ правильно развернуто на цели система. Чтобы определить основную причину эти ошибки во время выполнения, следуйте шаги, описанные в разделе «Устранение неполадок» C / C ++ изолированные приложения и Параллельные сборки.

НТН

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