56 / 50 / 11
Регистрация: 10.11.2010
Сообщений: 132
|
|
1 | |
#include - ошибка компиляции10.11.2010, 17:47. Показов 4198. Ответов 4
Метки нет (Все метки)
Вывел часть определений переменных и т.п. в отдельный .h файл (допустим defines.h)
Описал 2 класса в файлах class1.h и class2.h. К ним подключил файл defines.h, т.к. одни и те же переменные/структуры и т.п. нужны будут в обоих файлах (классах) При компиляции выдает ошибку error LNK2005: "struct .......... already defined in defines.obj" Это и понятно, т.к. получается при каждом подключении defines.h определяются переменные/структуры. подскажите как избавиться от этих ошибок... раньше делал как-то но уже не помню
0
|
10.11.2010, 17:47 | |
Ответы с готовыми решениями:
4
Ошибка компиляции при включении #include <vector> Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h> #include<iostream>// подключение библиотек #include <conio.h> #include <climits> Ошибка при компиляции программы "fatal error A1000: cannot open file : /masm32/include/windows.inc" |
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|||||||||||
10.11.2010, 18:26 | 2 | ||||||||||
Модифицируем файл defines.h таким образом:
С глобальными переменными все несколько иначе: Допустим в class1.h за декларирована глобальная переменная int globVal и она должна шариться в других модулях программы, тогда в defines.h объявляем ее с квалификатаром extern т.е.:
0
|
56 / 50 / 11
Регистрация: 10.11.2010
Сообщений: 132
|
|
10.11.2010, 18:41 [ТС] | 3 |
ну раньше я вроде так и делал...
но сейчас это не помогает почему-то... все равно выдает ту же ошибку. фот к примеру часть кода defines.h Код
#ifndef DEFINES_H_ #define DEFINES_H_ #define WIN32_LEAN_AND_MEAN #define _CRT_SECURE_NO_DEPRECATE #include <windows.h> #include <d3d9.h> #pragma comment(lib,"d3d9.lib") LPDIRECT3D9 pDirect3D = NULL; LPDIRECT3DDEVICE9 pDirect3DDevice = NULL; #endif // DEFINES_H_ а class.Move.h подключается к main.cpp pDirect3DDevice к примеру используется в файлах class.Move.h и class.Mesh.h при компиляции ошибка выдается:
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|||||||||||
10.11.2010, 19:17 | 4 | ||||||||||
ну вот же из-за этого
в main.cpp объявляйте эти указатели
1
|
56 / 50 / 11
Регистрация: 10.11.2010
Сообщений: 132
|
|
10.11.2010, 22:55 [ТС] | 5 |
все, заработало... это просто был глюк в visual studio. Просто сперва нужно было выполнить clean solution, а потом заново компилить...
спасибо Oleg
0
|
10.11.2010, 22:55 | |
10.11.2010, 22:55 | |
Помогаю со студенческими работами здесь
5
Ошибка в CodeVisionAVR по #include<avr/io.h> #include<avr/interrupt.h> Чем отличается #include <cstring>, #include <string> и #include <string.h>? include ошибка Ошибка #include Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |