LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices



Reply
 
Search this Thread
Old 07-07-2003, 01:20 PM   #1
dhanakom
LQ Newbie
 
Registered: Jul 2003
Location: Birmingham
Posts: 20

Rep: Reputation: 0
Exclamation Linking errors


Hello everyone,

when I attempt to run my c++ program, I get a linking error

/usr/bin/ld: -lXft not found

my makefile contains a line X-Lib: ..........,-lXft,..........,-lXmc.

when i search for those lib files, i find that all the files in the above line are present as .a files in /usr/lib whereas the one that it complains Xft has a symbolic link to it in the directory /usr/lib.

Can someone tell me how to get around this problem.

Can someone also tell me what is the difference between .a and .so files.
 
Old 07-07-2003, 01:49 PM   #2
darin3200
Guru
 
Registered: Dec 2002
Distribution: Gentoo!
Posts: 1,153

Rep: Reputation: 45
Please don't double post
rules
 
Old 07-07-2003, 03:04 PM   #3
dhanakom
LQ Newbie
 
Registered: Jul 2003
Location: Birmingham
Posts: 20

Original Poster
Rep: Reputation: 0
sorry, im a newbie

I'am extremely sorry, I dint know the rules.

Thanks for bringing to my notice the rules.
 
Old 07-07-2003, 07:01 PM   #4
dakensta
Member
 
Registered: Jun 2003
Location: SEUK
Distribution: Debian & OS X
Posts: 194

Rep: Reputation: 35
"when I attempt to run my c++ program, I get a linking error .... "

you mean when you link, as part of the building process, yes? (judging from the error)

Where is the link to libXft (.a or .so ) pointing and is the target present and correct (use ls -l)?

There no libX*.so files at all, anywhere?

The X libraries are often found in /usr/X11R[5 or 6]/lib/ - have a look to see what libraries are there and use -L/usr/X11R[5 or 6]/lib/ if so.

.a files are static libraries (archived object files) which will be linked into your program - if you have two copies of your program running then you get to copies in memory.
.so are shared libraries - which are loaded into memory once for all programs that use them (although any user needs to have these libraries installed on their system, and in the right version)

I think the switch to force linking to static libraries is -static (for gcc) but you might want to check the manual. Linking to shared libraries is normal.
 
Old 07-08-2003, 03:12 AM   #5
captainstorm
Member
 
Registered: Jun 2003
Location: Oricola, Italy
Distribution: RH 9, so far
Posts: 261

Rep: Reputation: 30
Sometimes forcing to link to static library does not work. But I remember the option is -Bstatic. (Not sure).

The "/usr/bin/ld: -lXft not found" appears to me that the library "Xftlib.a" or .so could not be found by the linker. It is bettery to search for Xft*.* to see whether you have it.

I have another question to dhanakom: Sometimes the shared library has several "surfix" to ".so", like libusb.so.4, or libusb.so.4.1.0. Would you tell me what this number mean?

Many thanks
Qu Chen
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
linking problems - 'undefined reference' errors back2morrie Programming 1 06-14-2005 09:02 AM
Linking LS to 'L' uveraser Linux - General 2 05-20-2004 11:24 AM
Linking errors dhanakom Linux - Newbie 4 07-07-2003 06:34 PM
linking problem with ld ! gluon Programming 2 05-19-2002 02:59 PM
C++ linking? ugenn Programming 5 05-14-2002 02:33 AM


All times are GMT -5. The time now is 11:44 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration