КИТА unofficial
Ноябрь 22, 2024, 04:35:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   ПРАВИЛА Помощь WIKI PDA Войти Регистрация  


Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с кодингом на линуксе  (Прочитано 13740 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« : Март 21, 2011, 04:57:24 »

Всем доброго времени суток.

Разбираюсь  тут вот я с графическими файлами формата TIFF и GEOTIFF. Скачал библиотеки с API для работы с такими файлами с официальных сайтов.

http://trac.osgeo.org/geotiff/ - тут все что касается спецификаций, мануалов и библиотеки для работы с GEOTIFF
http://www.libtiff.org/ - тут все что касается работы с форматом TIFF

Использую я ОС Ubuntu 10.10 и среду разработки code blocks. Сталкнулся вот с такой проблемой... Я распоковал библиотеки, которые мне нужны (тут все стандартно)

Код:
...
./configure
make
make install
...

Они вроде бы встали и никаких проблем. Пишу обычный пример, который приводится в мануале по libgeotiff

Код:
#include <iostream>
#include "geotiffio.h" /* for GeoTIFF */
#include "xtiffio.h"  /* for TIFF */
using namespace std;
int main(void)
{
    GTIF *gtif=(GTIF*)0; /* GeoKey-level descriptor */
    TIFF *tif=(TIFF*)0;  /* TIFF-level descriptor */
    tif=XTIFFOpen("b80.TIF","w");

    if (tif!=NULL) {
        cout<<"success"<<endl;
    }
        else {
            cout<<"epic fail"<<endl;
        }
    XTIFFClose(tif);
    return 0;
}

При компиляции и сборке вроде бы все нормально, никаких ошибок. Но при запуске выдаются вот такие вот сообщения:

obj/Debug/main.o||In function `main':|
/home/acer/appl/main.cpp|11|undefined reference to `XTIFFOpen'|
/home/acer/appl/main.cpp|18|undefined reference to `XTIFFClose'|
||=== Build finished: 2 errors, 0 warnings ===|

На сколько я понимаю тут проблема в том, что на этапе сборки программы не находятся библиотеки для функций XTIFFOpen и XTIFFClose. Но они же вроде стоят  Непонимающий

В гугле порылся, стоящего ответа не нашел. Может кто-то сталкивался с чем-то подобным?
Записан
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #1 : Март 21, 2011, 06:19:29 »

Ну же, не стесняемся - подсказываем.
Записан
Alder
Администратор
Проректор
*****

Карма: +331/-16
Offline Offline

Пол: Мужской
Награды:
За II место в конкурсе поэзии (весна-2007)2 место в фотоконкурсе \За II место в фотоконкурсе \3 место в фотоконкурсе \2 место в фотоконкурсе \Лучший знаток музыки 2009Лучший знаток музыки 2010
Сообщений: 11224


just for fun


WWW
« Ответ #2 : Март 21, 2011, 07:40:21 »

Магнетон Бора, в настройках среды разработки какие параметры компиляция? Пути прописаны?
Записан

"There are things known and there are things unknown, and in between are the doors..." (Jim Morrison)
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #3 : Март 21, 2011, 07:55:14 »

В разделе Global compiler settings стоят следующие опции:

Produce debugging symbols [-g]
Enable all compiler warnings (overrides mane other settings) [-Wall]

Компилятор GNU GCC Compiler.

ммм которые пути?

З.Ы. На линукс перешел недавно, так что просьба не пинать если вопросы будут ламерские =)
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6134


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #4 : Март 21, 2011, 08:09:39 »

тебе, скорее всего, нужно прописать команду запуска компилятора, в которой будут явно указаны пути к библиотекам, которые ты используешь, что-то типа такого:

gcc -c -I/usr/local/include/libxml2

это должно быть где-то в настройках, не знаю, что у тбея за IDE, в Eclipse это делается в свойствах проекта - С/С++ Options -> Discovery Options -> Compiler Invocation Command
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #5 : Март 21, 2011, 09:12:32 »

gcc -c -I/usr/local/include/libxml2

Сейчас попробую поискать где это можно вбить...
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6134


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #6 : Март 21, 2011, 10:49:20 »

Сейчас попробую поискать где это можно вбить...
Вбивать нужно, разумеется, не именно эту строку, а с подключением тех библиотек, которые нужны тебе.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #7 : Март 22, 2011, 12:55:45 »

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

а) Библиотека разделяемая и установлена в систему. Достаточно -lимя. Например, в случае с libz.so: gcc myfun.c -lz
б) Библиотека статическая и установлена в "куда-то". gcc -Lпуть_к_нашей_либе  mylib.a
(Отправлено в: Март 22, 2011, 11:54:03 )
 Если используется IDE и система сборки, должны указываться в свойствах проекта. Если консоль - то руцями параметры. Если сам сделал makefile или CmakeLists.txt - там есть директивы. Тут читай маны по среде, которую используешь.
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #8 : Март 23, 2011, 11:29:31 »

Спасибо  Улыбка

Проблема успешно решена в реале  Улыбка код написан, отдебаган и сдан в эксплуатацию  Улыбка
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Penguins Counter Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS! Internetmap
Страница сгенерирована за 0.093 секунд. Запросов: 30.