Sponsored Content
Top Forums Programming Linker errors linking to .a files on OS X Post 302928580 by MarshallBanana on Friday 12th of December 2014 11:36:40 PM
Old 12-13-2014
Linker errors linking to .a files on OS X

Basically my problem is that when I try to compile anything using ./configure && make, it fails because of linker errors. I can reproduce the behavior I'm getting as follows:

I have the two following files

main.c:
Code:
#include <stdio.h>

extern void func(void);

int
main(int argc, char **argv)
{
    printf("Before func\n");
    func();
    return 0;
}

func.c:
Code:
#include <stdio.h>

void
func(void)
{
    printf("In func\n");
}

If I do the commands
Code:
gcc -c func.c
gcc -c main.c
ar rc func.a func.o
gcc -o test main.o func.a

I get the output
Code:
ld: warning: ignoring file func.a, file was built for archive which is not the architecture being linked (x86_64): func.a
Undefined symbols for architecture x86_64:
  "_func", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

Any idea what I should do?

Last edited by MarshallBanana; 12-13-2014 at 12:43 AM..
 

10 More Discussions You Might Find Interesting

1. Programming

compiling and linking 2 C files ...??

Hi mates, I am trying to copile and link to C programs with command: cc file1,file2 but i raises the error "file not found" ... am i doing the right way? any suggestion will be appreciated. thanks abdul (4 Replies)
Discussion started by: abdul
4 Replies

2. Programming

Linking problem while linking to shared library

Hi I'm getting ld: fatal: option -h and building a dynamic executable are incompatible ld: fatal: Flags processing errors When I run ld -shared -L/usr/dt/lib -lDtSvc -o builtin.so Workspace.o after running gcc -fPIC -I/usr/X11R6/include -I/usr/dt/include -c Workspace.c I'm... (6 Replies)
Discussion started by: laho
6 Replies

3. UNIX for Dummies Questions & Answers

modifying C file and linking back to project files

hi, This is the first time I work in a big C project. All source code files are located in say directory /source/pp and all header files are in /include/pp. I've created a link to both of these directories from my home dir, say /home/ss. So in the /home/ss dir I have the /source/pp and /include/pp... (1 Reply)
Discussion started by: bruins2005
1 Replies

4. UNIX for Dummies Questions & Answers

Linking Files in UNIX (shortcuts)

Hello, Can anyone tell me how I can make a file link or shortcut in UNIX 4.0, several file links where damaged during an outage examples below. Examples: file -> file libX11.so -> /usr/shlib/libX11.so.pre.O3D All of the file links that were damaged were in /shlib and point to... (3 Replies)
Discussion started by: jays337
3 Replies

5. Programming

C files searching and Linking

Dear friends, First off all , let me apologize for my inexperience. I am just starting use of Linux and gcc . Actually I ve some .c files in the present directory , and now I am giving +vc <my_file1.c> <my.file2.c> <myfile3.c>. All the c files are in present directory.... (2 Replies)
Discussion started by: user_prady
2 Replies

6. Shell Programming and Scripting

checking ERRors in files

I m having trouble in a script.I need To write a script that will check for Following Errors in Logs Files,i.e files having Extension .log The erros are 2008-01-01 15:19:11,822 ERROR - ORA-01115: IO error reading block from file 51 (block # 717090) ORA-01110: data file 51:... (4 Replies)
Discussion started by: ali560045
4 Replies

7. Shell Programming and Scripting

Recursively hard linking files -- bonehead question

I used to program ksh a while back, but I've been off in Oracle/Windows land (for clients -- not by choice) for so long that I can't remember what should be an easy thing. Here's the scenario: 1)Find all files and directories beneath some directory point (A). 2)If directory, make the... (7 Replies)
Discussion started by: scyphers
7 Replies

8. Solaris

proc precompilation - linking results in symbolic referncing errors

I can compile and link a piece of code on Solaris 2.6 .. I want the same thing to be done on Solaris8.. I am getting symbolic refernce errors while linking... Errors looks to be with proc symbols defination.. Any ideas ?? fgs_lib/finder_dbl.pkg_shr_def->lib/finder_dbl.so expand_file "cc -G... (0 Replies)
Discussion started by: shafi2all
0 Replies

9. Solaris

runtime linker errors

Hey guys I have a solaris 10 OS, with a zone configured. In that zone, I am trying to install an Oracle Client. However, when I run the oracle installer, I get the following error: ld.so.1: java: fatal: libexpat.so.0: open failed: No such file or directory ld.so.1: java: fatal:... (2 Replies)
Discussion started by: goodvikings
2 Replies

10. Shell Programming and Scripting

Script for linking files with paths in 2 text files

I have 2 txt files, 1.txt and 2.txt which contain the paths to files that need to be linked. Example 1.txt: /root/001/folder2/image4.nii.gz /root/002/folder2/image4.nii.gz Example 2.txt: /root/001/folder2/image5.nii.gz /root/002/folder2/image5.nii.gz Each line represents images from... (7 Replies)
Discussion started by: LeftoverStew
7 Replies
JOCAMLMKTOP(1)						      General Commands Manual						    JOCAMLMKTOP(1)

NAME
jocamlmktop - Building custom toplevel systems SYNOPSIS
jocamlmktop [ -v ] [ -cclib libname ] [ -ccopt option ] [ -custom [ -o exec-file ] [ -I lib-dir ] filename ... DESCRIPTION
The jocamlmktop(1) command builds JoCaml toplevels that contain user code preloaded at start-up. The jocamlmktop(1) command takes as argu- ment a set of x.cmo and x.cma files, and links them with the object files that implement the JoCaml toplevel. If the -custom flag is given, C object files and libraries (.o and .a files) can also be given on the command line and are linked in the resulting toplevel. OPTIONS
The following command-line options are recognized by jocamlmktop(1). -v Print the version number of the compiler. -cclib -llibname Pass the -llibname option to the C linker when linking in ``custom runtime'' mode (see the corresponding option for jocamlc(1). -ccopt Pass the given option to the C compiler and linker, when linking in ``custom runtime'' mode. See the corresponding option for jocamlc(1). -custom Link in ``custom runtime'' mode. See the corresponding option for jocamlc(1). -Idirectory Add the given directory to the list of directories searched for compiled interface files (.cmo and .cma). -o exec-file Specify the name of the toplevel file produced by the linker. The default is is a.out. SEE ALSO
jocamlc(1). JOCAMLMKTOP(1)
All times are GMT -4. The time now is 01:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy