2010-03-17 2 views
1

Это следующий вопрос по этому вопросу, который я задал ранее. Кстати, благодаря Neil Butterworth за помощь Issue compiling c++ in c++builderC++ Builder компилировать вопрос


Быстрое повторение. В настоящее время я разрабатываю C++-программу для университета, я использовал NetBeans 6.8 на своем персональном компьютере (Mac), и все работает отлично. Когда я пытаюсь их на моем разделе окна или при помощи C университетского ПК ++ Builder 2009 & 2010 я получаю несколько ошибок компиляции, которые были решены путем добавления следующего заголовка файла:

#include <string> 

Однако теперь программа делает компиляция, но она не запускается, просто пустая консоль. И я получаю следующее в журнале событий составителя:

Thread Start: Thread ID: 2024. Process Project1.exe (3280) 
Process Start: C:\Users\Carlos\Documents\RAD Studio\Projects\Debug\Project1.exe. Base Address: $00400000. Process Project1.exe (3280) 
Module Load: Project1.exe. Has Debug Info. Base Address: $00400000. Process Project1.exe (3280) 
Module Load: ntdll.dll. No Debug Info. Base Address: $77E80000. Process Project1.exe (3280) 
Module Load: KERNEL32.dll. No Debug Info. Base Address: $771C0000. Process Project1.exe (3280) 
Module Load: KERNELBASE.dll. No Debug Info. Base Address: $75FE0000. Process Project1.exe (3280) 
Module Load: cc32100.dll. No Debug Info. Base Address: $32A00000. Process Project1.exe (3280) 
Module Load: USER32.dll. No Debug Info. Base Address: $77980000. Process Project1.exe (3280) 
Module Load: GDI32.dll. No Debug Info. Base Address: $75F50000. Process Project1.exe (3280) 
Module Load: LPK.dll. No Debug Info. Base Address: $75AB0000. Process Project1.exe (3280) 
Module Load: USP10.dll. No Debug Info. Base Address: $76030000. Process Project1.exe (3280) 
Module Load: msvcrt.dll. No Debug Info. Base Address: $776A0000. Process Project1.exe (3280) 
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $777D0000. Process Project1.exe (3280) 
Module Load: SECHOST.dll. No Debug Info. Base Address: $77960000. Process Project1.exe (3280) 
Module Load: RPCRT4.dll. No Debug Info. Base Address: $762F0000. Process Project1.exe (3280) 
Module Load: SspiCli.dll. No Debug Info. Base Address: $759F0000. Process Project1.exe (3280) 
Module Load: CRYPTBASE.dll. No Debug Info. Base Address: $759E0000. Process Project1.exe (3280) 
Module Load: IMM32.dll. No Debug Info. Base Address: $763F0000. Process Project1.exe (3280) 
Module Load: MSCTF.dll. No Debug Info. Base Address: $75AD0000. Process Project1.exe (3280) 

Я был бы очень признателен за любую помощь или идеи о том, как решить эту проблему.

P.S: В случае, если кто-нибудь задается вопросом, почему я придерживаюсь C++ Builder, это потому, что профессора IDE используют для оценки наших назначений.

+0

Насколько я знаю, Codegear (прошлый Borland) имеет свой собственный компилятор, так что обычно это может быть довольно сложной проблемой. Вы пытались запустить свою программу в режиме отладки? Где это останавливается? – Adi

+0

@Adi: он не останавливается. «Проверка зависимостей проекта ...» «Компиляция Project1.cbproj (Конфигурация отладки)» «Успех» – Carlos

+1

Ok. Но вы пытались поставить точку останова где-то в начале кода, например, в событии FormCreate() или в функции main()? – Adi

ответ

1

Я предполагаю, что вы отладкой, и вы не можете даже выйти в основной() с помощью отладчика (Нажатие кнопки [F7] или [F8]), как программа рушится, прежде чем он даже попадает в главный. Это может быть проблемой, если у вас есть глобальный (или статический) экземпляр объекта, а код конструктора объекта сбой.

Если у вас есть глобальный объект I.e.

MyClass object; 
int main() 
{ .... }; 

Попробуйте динамически выделить его в main().

MyClass *object = 0; 
int main() 
{ object = new MyClass; 
.... 
}; 
Смежные вопросы