Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Непонятная Ошибка при компиляции (Linux) / 23 сообщений из 23, страница 1 из 1
11.12.2006, 11:02
    #34189444
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
День добрый! Проблема такова

OC Fedora Core3 (Linux)
kdevelop 2.7


В makefile прописал один .h файл

в основную программу его добавляю
Код: plaintext
1.
2.
3.
#include<ms-ole.h>
......

MsOle *ole; /*создаю объект на основе определенной в #include<ms-ole.h> структуры (struct MsOle {} )*/


все компилируется без ошибок

стоит только написать функцию из ms-ole.h ms_ole_open_vfs(MsOLE **fs)

Код: plaintext
ms_ole_open_vfs(&ole);

компилятор пишет ошибку undefined function строка 33

хотя стоит задать неправильное количество параметров в функции, компилятор выдает соответствующую ошибку, т.е. все определения в ms-ole.h компилятор видит а вот на функцию почему то ругается (и так на любую из ms-ole.h)
...
Рейтинг: 0 / 0
11.12.2006, 11:16
    #34189500
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Ну а в какой библиотеке находятся эти самые определения функций? Вы ее подключили?
...
Рейтинг: 0 / 0
11.12.2006, 11:40
    #34189590
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Компилятор или линковщик?
...
Рейтинг: 0 / 0
11.12.2006, 12:35
    #34189814
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Нету в русском языке такого слова "линковщик".

Это называется ЛИНКЕР .
...
Рейтинг: 0 / 0
11.12.2006, 12:40
    #34189832
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
MasterZivНету в русском языке такого слова "линковщик".

Это называется ЛИНКЕР .

Пасибо, просвятил :)
...
Рейтинг: 0 / 0
11.12.2006, 13:22
    #34190044
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
на самом деле это сборщик.
...
Рейтинг: 0 / 0
11.12.2006, 13:51
    #34190168
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Да хоть Дед Мороз.
...
Рейтинг: 0 / 0
11.12.2006, 15:48
    #34190649
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Анатолий ШироковНу а в какой библиотеке находятся эти самые определения функций? Вы ее подключили?

libole2

я подключал не библиотеку а просто взял из нее файлы ms-ole.h ms-ole.c реализующие класс MsOle(вернее не класс, а структуру вы обратили внимание, что она на С ) и поместил их в каталог со своей программой, а в src.pro написал:

Код: plaintext
1.
2.
3.
header+=ms-ole.h \
..................
sources+=ms-ole.c \
..................

и в makefile дал ссылку на библиотеку glib которую использует ms-ole.h
Код: plaintext
1.
includes=-I/usr/include/glib- 2 . 0 /

Может еще что-то надо?

2 Akh

пишет gmake компоновка
и далее выдает undefined function
...
Рейтинг: 0 / 0
11.12.2006, 16:50
    #34190963
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
vitaliy14 Анатолий ШироковНу а в какой библиотеке находятся эти самые определения функций? Вы ее подключили?

libole2

я подключал не библиотеку а просто взял из нее файлы ms-ole.h ms-ole.c реализующие класс MsOle(вернее не класс, а структуру вы обратили внимание, что она на С ) и поместил их в каталог со своей программой, а в src.pro написал:

Код: plaintext
1.
2.
3.
header+=ms-ole.h \
..................
sources+=ms-ole.c \
..................

и в makefile дал ссылку на библиотеку glib которую использует ms-ole.h
Код: plaintext
1.
includes=-I/usr/include/glib- 2 . 0 /

Может еще что-то надо?

2 Akh

пишет gmake компоновка
и далее выдает undefined function


По всей видимости не поключает в проекту скомилированный ms-ole.c. Возможно в мэйкфайле, надо прописать в какие-нибудь objs ее объектник.

Можно пойти несколькими путями:
1. Найти в мэйкфайле где компануется проект, посмотреть из каких мэк-переменных он собирается, и соответственно их изменить.
2. Посмотреть какая команда выдается при линковке. Для этого в мэйкфайле убрать, @ если она стоит. Соответвественно убедиться, что объектник не выдается. И идти по пункту первому.
3. Попробовать определить, в какие еще переменные можно добавить объектник или исходник.
4. Если мэйк файл не очень большой, закинуть сюда. Может и так станет ясно.
...
Рейтинг: 0 / 0
07.01.2007, 21:53
    #34240458
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
2 Akh

Извиняюсь за столь долгий ответ работу по проекту пришлось отложить на месяц.

ms-ole.c как раз компилируется

Дело в том, что в ms-ole.c используется glib.h из библиотеки /usr/include/glib-2.0 ,
а тот в свою очередь использует еще полтора десятка header-файлов из этого каталога
и вся проблема в том что у меня не получается прописать ссылку на /usr/include/glib-2.0/ чтобы все нужные header-файлы из glib-2.0 компилировались без ошибок!!!..

Т.е. сейчас при компиляции первая ошибка выдается что glib.h не найден а далее полсотни ошибок связанных типами данных и функциями которые используются в ms-ole.c (из glib.h glibconfig.h ....... итд)!!!!

ниже сам исходник makefile

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
# Makefile for building: ../bin/paintviewer
# Generated by qmake ( 1 .07a) (Qt  3 . 3 . 3 ) on: Thu Nov  30   17 : 00 : 43   2006 
# Project:  src.pro
# Template: app
# Command: $(QMAKE) -o Makefile src.pro
#############################################################################

####### Compiler, tools and options

CC       = gcc
CXX      = g++
LEX      = flex
YACC     = yacc
CFLAGS   = -pipe -Wall -W -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED
CXXFLAGS = -pipe -Wall -W -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED
LEXFLAGS = 
YACCFLAGS= -d
INCPATH  = -I/usr/lib/qt- 3 . 3 /mkspecs/default -I. -I$(QTDIR)/include -I/usr/include/glib- 2 . 0  \
-I/usr/lib/glib- 2 . 0 /include
LINK     = g++
LFLAGS   = 
LIBS     = $(SUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
AR       = ar cqs
RANLIB   = 
MOC      = $(QTDIR)/bin/moc
UIC      = $(QTDIR)/bin/uic
QMAKE    = qmake
TAR      = tar -cf
GZIP     = gzip -9f
COPY     = cp -f
COPY_FILE= $(COPY)
COPY_DIR = $(COPY) -r
INSTALL_FILE= $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
DEL_FILE = rm -f
SYMLINK  = ln -sf
DEL_DIR  = rmdir
MOVE     = mv -f
CHK_DIR_EXISTS= test -d
MKDIR    = mkdir -p

####### Output directory

OBJECTS_DIR = ./

####### Files

HEADERS = paintviewer.h \
		Compressor.h \
		ms-ole.h \
		libole2.h \
		ms-ole-summary.h \
		/usr/include/glib- 2 . 0  \
		/usr/lib/glib- 2 . 0 /include
SOURCES = paintviewer.cpp \
		main.cpp \
		Compressor.cpp
OBJECTS = paintviewer.o \
		main.o \
		Compressor.o
FORMS = 
UICDECLS = 
UICIMPLS = 
SRCMOC   = moc_paintviewer.cpp
OBJMOC = moc_paintviewer.o
DIST	   = src.pro
QMAKE_TARGET = paintviewer
DESTDIR  = ../bin/
TARGET   = ../bin/paintviewer

first: all
####### Implicit rules

.SUFFIXES: .c .o .cpp .cc .cxx .C

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules

all: Makefile $(TARGET)

$(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC)  
	test -d ../bin/ || mkdir -p ../bin/
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(OBJCOMP) $(LIBS)

mocables: $(SRCMOC)
uicables: $(UICDECLS) $(UICIMPLS)

$(MOC): 
	( cd $(QTDIR)/src/moc && $(MAKE) )

Makefile: src.pro  /usr/lib/qt- 3 . 3 /mkspecs/default/qmake.conf /usr/lib/qt- 3 . 3 /lib/libqt-mt.prl
	$(QMAKE) -o Makefile src.pro
qmake: 
	@$(QMAKE) -o Makefile src.pro

dist: 
	@mkdir -p .tmp/paintviewer && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/paintviewer/ && ( cd `dirname .tmp/paintviewer` && $(TAR) paintviewer.tar paintviewer && $(GZIP) paintviewer.tar ) && $(MOVE) `dirname .tmp/paintviewer`/paintviewer.tar.gz . && $(DEL_FILE) -r .tmp/paintviewer

mocclean:
	-$(DEL_FILE) $(OBJMOC)
	-$(DEL_FILE) $(SRCMOC)

uiclean:

yaccclean:
lexclean:
clean: mocclean
	-$(DEL_FILE) $(OBJECTS)
	-$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
	-$(DEL_FILE) ../bin/$(TARGET) $(TARGET)


FORCE:

####### Compile

paintviewer.o: paintviewer.cpp paintviewer.h \
		Compressor.h \
		ms-ole.h \
		ms-ole-summary.h

main.o: main.cpp paintviewer.h

Compressor.o: Compressor.cpp Compressor.h

moc_paintviewer.o: moc_paintviewer.cpp  paintviewer.h 

moc_paintviewer.cpp: $(MOC) paintviewer.h
	$(MOC) paintviewer.h -o moc_paintviewer.cpp

####### Install

install:  

uninstall:  
...
Рейтинг: 0 / 0
07.01.2007, 22:00
    #34240463
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
В INCPATH пробывал прописать директории -I/usr/lib/glib-2.0/include -I/usr/include/glib-2.0/ но ничего не получилось :(
а сам src.pro у меня такой

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
HEADERS += paintviewer.h \
           Compressor.h \
ms-ole.h \
/usr/include/glib- 2 . 0  \
/usr/lib/glib- 2 . 0 /include
          


SOURCES += paintviewer.cpp \
           main.cpp \
           Compressor.cpp \
          

TEMPLATE = app
CONFIG += release \
warn_on \
thread \
qt
TARGET = ../bin/paintviewer

Вообщем если нужно еще что-то пояснить вы спрашивайте! заранее спасибо за помощь!
...
Рейтинг: 0 / 0
09.01.2007, 10:13
    #34241984
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Не нравится мне подход "выдернул, проинклудил и юзаю отдельно." Лучше подклуючить библиотеку, Отнаследовать что надо и вперед. Или изменить исходный код библиотки и перекомпилировать/переустановить.

Сейчас первое, что приходит на ум - взять исходники libole2, перекомпилить, и если удачно, то посмотреть его майк файл на счет инклудов.
...
Рейтинг: 0 / 0
09.01.2007, 11:22
    #34242242
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
vitaliy14стоит только написать функцию из ms-ole.h ms_ole_open_vfs(MsOLE **fs)
ms_ole_open_vfs(&ole);
Есть подозрение, что ситуёвина похожа на мою
Попробуй поиграться с разными вариантами *, **, &
...
Рейтинг: 0 / 0
09.01.2007, 17:22
    #34243612
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
AkhНе нравится мне подход "выдернул, проинклудил и юзаю отдельно." Лучше подклуючить библиотеку, Отнаследовать что надо и вперед. Или изменить исходный код библиотки и перекомпилировать/переустановить.

Сейчас первое, что приходит на ум - взять исходники libole2, перекомпилить, и если удачно, то посмотреть его майк файл на счет инклудов.

хорошо только как мне /usr/include/glib-2.0 подключить........ libole2 использует полсотни инклудов из glib-2.0! какую переменную в makefile заюзать с incpath не прокатывает!?
...
Рейтинг: 0 / 0
09.01.2007, 17:24
    #34243620
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Zmeishe vitaliy14стоит только написать функцию из ms-ole.h ms_ole_open_vfs(MsOLE **fs)
ms_ole_open_vfs(&ole);
Есть подозрение, что ситуёвина похожа на мою
Попробуй поиграться с разными вариантами *, **, &

А есть какие-то путевые мануалы про поддержку ole2 в QT?
...
Рейтинг: 0 / 0
09.01.2007, 17:35
    #34243669
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
vitaliy14 AkhНе нравится мне подход "выдернул, проинклудил и юзаю отдельно." Лучше подклуючить библиотеку, Отнаследовать что надо и вперед. Или изменить исходный код библиотки и перекомпилировать/переустановить.

Сейчас первое, что приходит на ум - взять исходники libole2, перекомпилить, и если удачно, то посмотреть его майк файл на счет инклудов.

хорошо только как мне /usr/include/glib-2.0 подключить........ libole2 использует полсотни инклудов из glib-2.0! какую переменную в makefile заюзать с incpath не прокатывает!?

Ты скажи, ты с какой-то целью так прикалываешься над библиотекой или простохочешь наприсать приложение под libole2?
...
Рейтинг: 0 / 0
09.01.2007, 18:16
    #34243792
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
vitaliy14 Zmeishe vitaliy14стоит только написать функцию из ms-ole.h ms_ole_open_vfs(MsOLE **fs)
ms_ole_open_vfs(&ole);
Есть подозрение, что ситуёвина похожа на мою
Попробуй поиграться с разными вариантами *, **, &

А есть какие-то путевые мануалы про поддержку ole2 в QT?

Я пока не занимался этим сегментом в Qt. Но причём тут Qt?.
Я намекал на то, что у меня компилятор ругался в том же духе (типа не знаю функцию и знать не желаю), а проблема была в моей невнимательности и синтаксисе языка С/С++.
Разобравшись с указателями, двойными указателями, ссылками и адресами моя проблема решилась.
Тебе я советую тоже "поиграться с разными вариантами передачи значения в функцию &ole, *ole, ole" или ещё как-нибудь.
Моё частное мнение — это то, что собака порылать где-то рядом.
Это при условии, что ругается у тебя именно компилятор, а не линкер.
Проверь ещё раз - вдруг перепутал.
...
Рейтинг: 0 / 0
09.01.2007, 18:46
    #34243854
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Akh vitaliy14 AkhНе нравится мне подход "выдернул, проинклудил и юзаю отдельно." Лучше подклуючить библиотеку, Отнаследовать что надо и вперед. Или изменить исходный код библиотки и перекомпилировать/переустановить.

Сейчас первое, что приходит на ум - взять исходники libole2, перекомпилить, и если удачно, то посмотреть его майк файл на счет инклудов.

хорошо только как мне /usr/include/glib-2.0 подключить........ libole2 использует полсотни инклудов из glib-2.0! какую переменную в makefile заюзать с incpath не прокатывает!?

Ты скажи, ты с какой-то целью так прикалываешься над библиотекой или простохочешь наприсать приложение под libole2?

мне нужно написать просмоторщик для чтения составных файлов.(olestorage.. olestream ну вы сами это естественно знаете)

Т.е. например в CorelDraw с помощью не мной написанного скрипта файл с картинками и текстом "упаковывается", как составной файл, и в моей программе он должен просматриваться

Но!!!! тк программа должна работать под юниксом (а не под windows) отсюда проблема, что нужна либо готовая библиотека которая будет предоставлять нужные API функции, либо мне самому нужно что-то предумывать.

Один хороший человек на этом же форуме дал мне ссылку на libole2-2.2.7(в которой все эти api есть) теперь я хочу ее "прикрутить" к своей программе, тк это моя первая серьезная программа под linux и на С++(я писал на Delphi и VB) я может не совсем что-то хорошо представляю !

Был бы вам очень признателен, если бы вы подсказали, что в такой ситуации мне делать, чтоб решить эту задачу. А то у меня голова кругом идет, сплошные ошибки.
Заранее спасибо за участие в моей проблеме
...
Рейтинг: 0 / 0
09.01.2007, 18:47
    #34243856
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Zmeishe vitaliy14 Zmeishe vitaliy14стоит только написать функцию из ms-ole.h ms_ole_open_vfs(MsOLE **fs)
ms_ole_open_vfs(&ole);
Есть подозрение, что ситуёвина похожа на мою
Попробуй поиграться с разными вариантами *, **, &

А есть какие-то путевые мануалы про поддержку ole2 в QT?

Я пока не занимался этим сегментом в Qt. Но причём тут Qt?.
Я намекал на то, что у меня компилятор ругался в том же духе (типа не знаю функцию и знать не желаю), а проблема была в моей невнимательности и синтаксисе языка С/С++.
Разобравшись с указателями, двойными указателями, ссылками и адресами моя проблема решилась.
Тебе я советую тоже "поиграться с разными вариантами передачи значения в функцию &ole, *ole, ole" или ещё как-нибудь.
Моё частное мнение — это то, что собака порылать где-то рядом.
Это при условии, что ругается у тебя именно компилятор, а не линкер.
Проверь ещё раз - вдруг перепутал.

не как раз линкер
...
Рейтинг: 0 / 0
10.01.2007, 09:54
    #34244645
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
vitaliy14... Был бы вам очень признателен, если бы вы подсказали, что в такой ситуации мне делать, чтоб решить эту задачу. А то у меня голова кругом идет, сплошные ошибки.
Заранее спасибо за участие в моей проблеме

Вообщем, понятно. С этого и надо было начинать, а не залазить в сторону и пытаться решить через одно место.

Если ты сделаешь rpm -qa | grep libole2, то должен увидеть, что кроме оле у тебя должна стоять libole2-devel. Пакеты со маркером devel означают, что они предназначены для разработки приложений для самой libole2. Если этот пакет у тебя не стоит, то, соотетвенно его надо доставить.
Далее делаешь rpm -ql libole2-devel и видишь список файлов, входящих в пакет. Тебе, наверное, наиболее интересны должны быть ашники и документация (например маны). У меня версия древняя 0.2.4, так что документации у меня нет. У тебя наверное есть. Смотришь какие маны есть и, соответсвенно из вызываешь man <имя функции>, читаешь и разбираешься как программить под ole. Можешь почитать ашники и посмотреть какие есть функции. Может и так понятно все станет.
Соответсвенно в самой программе надо будет инклудить оле из <libole2/...>, а при линковке подключать что-то типа -lole2.
Примерно такой ход действий.
...
Рейтинг: 0 / 0
10.01.2007, 10:01
    #34244660
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
vitaliy14не как раз линкер

В первом посте ты писал про компилятор.
vitaliy14стоит только написать функцию из ms-ole.h ms_ole_open_vfs(MsOLE **fs)


ms_ole_open_vfs(&ole);

компилятор пишет ошибку undefined function строка 33

хотя стоит задать неправильное количество параметров в функции, компилятор выдает соответствующую ошибку, т.е. все определения в ms-ole.h компилятор видит а вот на функцию почему то ругается (и так на любую из ms-ole.h)

Ну ладно - линкер так линкер. Тебе видней.
...
Рейтинг: 0 / 0
10.01.2007, 17:33
    #34246511
vitaliy14
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
Akh vitaliy14... Был бы вам очень признателен, если бы вы подсказали, что в такой ситуации мне делать, чтоб решить эту задачу. А то у меня голова кругом идет, сплошные ошибки.
Заранее спасибо за участие в моей проблеме

Вообщем, понятно. С этого и надо было начинать, а не залазить в сторону и пытаться решить через одно место.

Если ты сделаешь rpm -qa | grep libole2, то должен увидеть, что кроме оле у тебя должна стоять libole2-devel. Пакеты со маркером devel означают, что они предназначены для разработки приложений для самой libole2. Если этот пакет у тебя не стоит, то, соотетвенно его надо доставить.
Далее делаешь rpm -ql libole2-devel и видишь список файлов, входящих в пакет. Тебе, наверное, наиболее интересны должны быть ашники и документация (например маны). У меня версия древняя 0.2.4, так что документации у меня нет. У тебя наверное есть. Смотришь какие маны есть и, соответсвенно из вызываешь man <имя функции>, читаешь и разбираешься как программить под ole. Можешь почитать ашники и посмотреть какие есть функции. Может и так понятно все станет.
Соответсвенно в самой программе надо будет инклудить оле из <libole2/...>, а при линковке подключать что-то типа -lole2.
Примерно такой ход действий.

спасибо сейчас буду пробывать

Т.е. как понимаю ход действий такой:

1. По умолчанию устанавливаю libole2-0.2.7 (она у меня в виде исходников в tar-архиве)
2. Далее вставляю инклуды <libole2/> (я так понимаю при установке libole2-0.2.7 нужно лучше указывать /usr/include а не /usr/local/include).

3. А -lole2 мне в makefile писать в переменную libs? Просто я пишу в KDeveloper, а не в ручную gmake-ом (Люди когда-то посоветовали)



зы с функциями разобрался там все по аналогии с win api (мануалов то нормальных нет)

вообще я брал версию помойму годится
...
Рейтинг: 0 / 0
10.01.2007, 17:48
    #34246574
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная Ошибка при компиляции (Linux)
vitaliy14 AkhВообщем, понятно. С этого и надо было начинать, а не залазить в сторону и пытаться решить через одно место.

Если ты сделаешь rpm -qa | grep libole2, то должен увидеть, что кроме оле у тебя должна стоять libole2-devel. Пакеты со маркером devel означают, что они предназначены для разработки приложений для самой libole2. Если этот пакет у тебя не стоит, то, соотетвенно его надо доставить.
Далее делаешь rpm -ql libole2-devel и видишь список файлов, входящих в пакет. Тебе, наверное, наиболее интересны должны быть ашники и документация (например маны). У меня версия древняя 0.2.4, так что документации у меня нет. У тебя наверное есть. Смотришь какие маны есть и, соответсвенно из вызываешь man <имя функции>, читаешь и разбираешься как программить под ole. Можешь почитать ашники и посмотреть какие есть функции. Может и так понятно все станет.
Соответсвенно в самой программе надо будет инклудить оле из <libole2/...>, а при линковке подключать что-то типа -lole2.
Примерно такой ход действий.

спасибо сейчас буду пробывать

Т.е. как понимаю ход действий такой:

1. По умолчанию устанавливаю libole2-0.2.7 (она у меня в виде исходников в tar-архиве)
2. Далее вставляю инклуды <libole2/> (я так понимаю при установке libole2-0.2.7 нужно лучше указывать /usr/include а не /usr/local/include).

3. А -lole2 мне в makefile писать в переменную libs? Просто я пишу в KDeveloper, а не в ручную gmake-ом (Люди когда-то посоветовали)



зы с функциями разобрался там все по аналогии с win api (мануалов то нормальных нет)

вообще я брал версию помойму годится

1, 2. Тебе надо установить devel. Не надо никаких "вставляю" и "закавыриваю". Берешь libole2-devel и устанавливаешь. Если станет бинарная версия - отлично, если не встанет, прийдется ставить из исходников. Сделаешь тогда ./configure (если нужно), make и make install. Она у тебя станет и сама себя "заковыряет" куда надо. Если ты ее поставишь из бинарника, то потом сможешь просмотреть командой rpm -ql libole2-devel какие файлы она поставила и их изучать. Если из исходников, то подобной информации у тебя не будет (база rpm ничего о ней не будет знать). Так что устанавливай devel .

3. Да в LIBS. За правельность имени библиотеки не ручаюсь. Пальцем в небо. Может и -llibole2, ХЗ.

Так что ищи devel и ставь его. Например, можешь посмотреть этот .
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Непонятная Ошибка при компиляции (Linux) / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]