2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Компилятор Visual studio c++
Сообщение12.09.2010, 13:51 


22/10/09
61
Установил VS C++, не компилирует даже пустую страничку:

1>LINK : fatal error LNK1561: точка входа должна быть определена

После того, как задал её в свойствах проекта, стал говорить:

1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
LNK1120: 1 неразрешенных внешних элементов

Может кто-нибудь знает, как это исправить? Хочется код уже начать писать.

 Профиль  
                  
 
 Re: Компилятор Visual studio c++
Сообщение12.09.2010, 14:26 


16/06/10
199
Какой тип проекта Вы выбрали при создании?
У консольного приложения точка входа - функция main(), у приложения Win32 - WinMain(), у динамической библиотеки Win32 - DllMain().

 Профиль  
                  
 
 Re: Компилятор Visual studio c++
Сообщение12.09.2010, 14:55 


22/10/09
61
Спасибо! Так и знал, что вопрос окажется глупым. Создавал пустой проект.

 Профиль  
                  
 
 Re: Компилятор Visual studio c++
Сообщение07.10.2010, 22:53 


07/10/10
2
Я новичек в с++, подскажите пожалуйста, я описал описание объекта в заголовочном файле .h и создал файл .срр в котором описал процедуры этого объекта. В главном файле директивой include подключил заголовочный файл. Когда запускаю компилятор, то он не может связать описанные функции в заголовочном файле с описанием в файле срр. Что я не так делаю непонимаю??? Когда же я в главном файле директивой include подключаю файл срр то все компилируется без ошибок. Как же мне подключать заголовочные файлы объектов написаные мною и что бы линкер все связывал???

Вот содержимое файла .h:
#ifndef NRNARRAY_H
#define NRNARRAY_H

template <class T>
class CNrnArray {
public:
CNrnArray( void );
~CNrnArray( void );
private:
int iSize;
T* pArr;
};

#endif NRNARRAY_H


И содержимое файла .срр:
#include "stdafx.h"
#include "NrnArray.h"

#ifndef NRNARRAY_CPP
#define NRNARRAY_CPP

template <class T>
CNrnArray<T>::CNrnArray( void ) {
iSize = 0;
pArr = 0;
}

template <class T>
CNrnArray<T>::~CNrnArray( void ) {
if pArr <> 0 {
iSize = 0;
delete [] pArr;
}
}

#endif NRNARRAY_CPP

А это 2 ошибки, которые выдает компилятор:
NeuronDlg.obj : error LNK2019: unresolved external symbol "public: __thiscall CNrnArray<int>::~CNrnArray<int>(void)" (??1?$CNrnArray@H@@QAE@XZ) referenced in function "public: void __thiscall CNeuronDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CNeuronDlg@@QAEXXZ)

NeuronDlg.obj : error LNK2019: unresolved external symbol "public: __thiscall CNrnArray<int>::CNrnArray<int>(void)" (??0?$CNrnArray@H@@QAE@XZ) referenced in function "public: void __thiscall CNeuronDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CNeuronDlg@@QAEXXZ)

 Профиль  
                  
 
 Re: Компилятор Visual studio c++
Сообщение07.10.2010, 23:18 
Заслуженный участник


04/05/09
4593
Раздельная компиляция шаблонов (template) поддерживается пренебрежительно малым количеством компиляторов. Так что приходится определения шаблонных функций класть рядом с их описаниями.
Часто методы шаблонных классов кладут прямо в описание класса, иногда в тот же хедер в конце, или в отдельный файл, который включается самим хедером. Так же поступают и с inline функциями.

 Профиль  
                  
 
 Re: Компилятор Visual studio c++
Сообщение07.10.2010, 23:26 


07/10/10
2
venco спасибо!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group