Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> xlsLib 
:(
    Опции темы
Vicul
Дата 25.10.2010, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Помогите подключить эту библиотеку. 
Скажите, что я сделал неправильно.

1. Качнул дистрибутив http://xlslib.sourceforge.net/index.php
2.  установил его через configure/make/make install.  Хидеры установились в /usr/local/include/xlslib
3. Сделал Makefile

Код

INCLUDES= -I/usr/local/include/xlslib

test:  test.o 
    g++ $(CFLAGS) -o test test.o  -xlslib

test.o: test.cpp  
    g++ $(CFLAGS) -c $(INCLUDES)  test.cpp


clean:
     rm -f *.o test



4. Сделал тестовую пустышку

Код

#include <xlslib.h>

using namespace xlslib_core;

int main()
{
   // Get the workbook handler
   workbook wb; 
  return 0;
 }


5.  Компилирую и получаю ошибку

Код

make -k 
g++  -o test test.o  -xlslib
test.o: In function `main':
test.cpp:(.text+0x15): undefined reference to `xlslib_core::workbook::workbook()'
test.cpp:(.text+0x26): undefined reference to `xlslib_core::workbook::~workbook()'
collect2: ld returned 1 exit status
make: *** [test] Ошибка 1


хотя wordbook  должен быть определен, его хидер подключается  в xlslib.h

Код

// The defines are needed by the C library and OSX Framework Users
// The defines are needed by C++ Library Users

#if defined(__cplusplus)

#include <string>
#include <xlstypes.h>
#include <globalrec.h>
#include <workbook.h>

#if defined(__FRAMEWORK__)
using namespace xlslib_core;
#endif

#else // defined(__cplusplus)

#ifndef __OBJC__    // framework needs a more qualified path
#include <xlstypes.h>
#endif




PM MAIL   Вверх
GrayCardinal
Дата 25.10.2010, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



В Makefile в строчке

> g++ $(CFLAGS) -o test test.o  -xlslib
надо не -xlslib а -lxlslib
"l" пропущена

Это сообщение отредактировал(а) GrayCardinal - 25.10.2010, 09:00


--------------------
PM MAIL WWW   Вверх
Vicul
Дата 25.10.2010, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Цитата(GrayCardinal @  25.10.2010,  08:59 Найти цитируемый пост)
"l" пропущена


если ее поставить, то получаю

make -k 
g++  -o test test.o  -lxlslib
/usr/lib/gcc/i586-suse-linux/4.4/../../../../i586-suse-linux/bin/ld: cannot find -lxlslib
collect2: ld returned 1 exit status
make: *** [test] Ошибка 1


PM MAIL   Вверх
GrayCardinal
Дата 25.10.2010, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



Значит лайба не так называется. Переустановите и посмотрите при установке правильное название.

Это сообщение отредактировал(а) GrayCardinal - 25.10.2010, 09:26


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 25.10.2010, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



Еще может пути к лайбе не прописаны в
/etc/ld.so.conf


--------------------
PM MAIL WWW   Вверх
Vicul
Дата 25.10.2010, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Называется она подругому - libxls. Но ее в /usr/lib нет, а есть в /usr/local/lib. 
Может перенести их туда?

Добавлено через 2 минуты и 50 секунд
Цитата(GrayCardinal @  25.10.2010,  09:45 Найти цитируемый пост)
Еще может пути к лайбе не прописаны в
/etc/ld.so.conf


 там есть   запись /usr/local/lib
PM MAIL   Вверх
GrayCardinal
Дата 25.10.2010, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



Ага. Т.е. надо писать -lxls


--------------------
PM MAIL WWW   Вверх
Vicul
Дата 25.10.2010, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



ЗАРАБОТАЛО!!! 

Спасибо !!!!
PM MAIL   Вверх
GrayCardinal
Дата 25.10.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



Завсегда пожалуйста smile


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0852 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.