Programming :: C++ Template "undefined Reference" Errors
May 23, 2011I wrote a class that uses templates and some test code to make sure it works, but I get these "undefined reference" errors:
[Code]...
I wrote a class that uses templates and some test code to make sure it works, but I get these "undefined reference" errors:
[Code]...
I'm trying to build a shared library, and am receiving several undefined reference linking errors. Specifically, ffmpeg linked with libx264. I'm aware that this is not an appropriate forum for questions specific to ffmpeg or libx264. In order for one library / application (ffmpeg) to reference another library (libx264), the linker has to know where the referenced library (libx264.so) is located in the file system.
I'm pretty sure the linker knows where libx264.so is, because I receive a different error message when I run ffmpeg's configure script if the linker can't find libx264.so. In general, should running the install target of a make file be preferred over specifying the appropriate paths in the CFLAGS and LDFLAGS environment variables? I've tried both, and it doesn't seem to make a difference in regard to my error which method I choose.
How exactly is a library referenced? My error messages are
/root/ffmpeg/libavcodec/libavcodec.so: undefined reference to `d26'
/root/ffmpeg/libavcodec/libavcodec.so: undefined reference to `d22'
/root/ffmpeg/libavcodec/libavcodec.so: undefined reference to `d2'
/root/ffmpeg/libavcodec/libavcodec.so: undefined reference to `d20'
/root/ffmpeg/libavcodec/libavcodec.so: undefined reference to `d24'
/root/ffmpeg/libavcodec/libavcodec.so: undefined reference to `d0'
/root/ffmpeg/libavcodec/libavcodec.so: undefined reference to `q1'
If I can find out what library 'd26', 'd22', etc. are declared in, I should be able to resolve the undefined references. What exactly are 'd26', 'd22', etc.? Are these functions, classes, or something else? How can I find out what functions / classes are defined in a particular library?
I am facing the problem of calling cfitsio library from C program in linux. when i am givingthe option "gcc -o CreateLevel1DataFitsFile CreateLevel1DataFitsFile.c -lm -lcfitsio
"i am getting following error
/usr/lib/../lib/gcc/i386-redhat-linux/3.4.4/../../../libcfitsio.a(getcolj.o)(.text+0x7065):/backup/Astrosat/learning/cfits/cfitsio/getcolj.c:3098: more undefined references to `__xtoll' follow
[code]...
I wrote a small test program, and this is what happens when I try to compile it:
Code:
$ g++ -llua main.cpp
/tmp/ccHJ8HR3.o: In function `main':
[code]...
Code:
#include <string.h>
int main ()
{
stricmp ("anisha", "kaul");
return 0;
}
Code:
[code]....
When I compile my code in Linux (ATCA machine), I am getting the following error: /vobs/ims_do/lib/rhlinux/debug/libnem-dummy_td2.so: undefined reference to `__isoc99_sscanf'
The same code is being compiled in Solaris without any problems.
I'm using Linux and I have the following files:
The function F1() is declared in fileB.h and defined in fileB.cpp. I need to use the function in fileA.c, and so I declared the function as
However, during compilation, I got the error fileA.c: (.text+0x2b7): undefined reference to `F1'
When I try to compile my code using g95 or gfortran:
Code:
subroutine dipole_tilt(glong, glat, utsec, tau, day, hgraze)
implicit none
[code]....
I am trying to add some function to the c++ project (calling function) and the called function are in C. And i am getting error "undefined reference to "Hello(int,int)" " while linking. It is compiling correctly. It is linking to header file mention in the calling function. This header file has definition to the c - called function. Do you thinking having c files into C++ project will be a problem? Should I remove <stdio.h> in c files?
View 2 Replies View RelatedI'm new to C++ programing and also new to gcc compiler.
View 1 Replies View RelatedI have been trying to build a file called main.cpp through my make file which is in Linux.
There are functions like
Which are being called. I have included all the necessary headers and also have included the necessary lib.a files in the make file as below:
I am still getting the below error. I use make -j makefile.mak clean all command to make the build.
Do you have any ideas why does wxHyperlinkCtrl doesn't work on Linux?It has an error which says..."/usr/include/wx-2.8/wx/gdicmn.h:215: undefined reference to 'vtable for wxHyperlinkCtrl'"Do I have to include a certain library so that it will work in Linux? I try to compile it in windows and its succesful.'m having a problem on Linux guysinitialize the wxHyperlinkCtrl like this... wxHyperlinkCtrl* hyperlink1 = new wxHyperlinkCtrl();and included #include <wx/hyperlink.h> Is there something missing on it?... I already had tried supplying parameters on the constructor but same thing it gives me an error
View 1 Replies View RelatedI'm building my main program on SUSE using C, but the compiler returns the error below.
Code:
Here's my code to which the errors are pointing to:
Code:
I'm writing a binary search tree class to insert records and I'm stuck on the following error:
Code:
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
Here is the code for my class:
[Code]...
I really don't know how to approach this, I thought that everything was working fine but I have no idea what is wrong. Also, for clarification, main() is in a different .cpp file that #includes "tree.h"
I am trying to install NOX which is a openflow controller and it needs Xerces-C++ this. I installed it successfully on the Debian. The output of the xerces after running the "make install" command is as follows which shows that is successfully installed on the machine.
[Code]....
I am having trouble linking the pthread library.I have -lpthread -lm as options for the GNU GCC compiler.
Build Log
Compiling: main.c
Compiling: matrix.c
[code]...
iḿ trying to parse a file using html parser by libxml.
Code: #include <stdio.h>
#include <libxml/HTMLparser.h>
#include <string.h>
void main(){
printf("main
");
[Code]....
I've having problems with my Makefile.
I'm trying to create a program from 2 files - main.cpp that contains the main function, and modules.c that contains the definitions of the functions that are called in main(). modules.c only contain function definitions, no main function.
My Makefile is as follows:
Code:
I have included "modules.h", which contains all the function declarations, in my main.cpp.
When I try to make using this Makefile, I get the error
Code:
If I switch the order of modules.o and main.o in my $(TARGET) line, then I get errors that say "undefined reference to" the functions I have defined in modules.c, in main.cpp.
i am a new programer in c i have write a simple app and i have a problem with combiling my program include one header file and 2 c
fun.h
#include<stdio.h>
void f();
/******EOF*******/
fun.c
#include"fun.h"
void f(){
[Code].....
I have created a simple test class - Mortgage, with the class declaration in the .h file and the class's methods defined in the .cpp file. (mortgage.h && mortgage.cpp, respectively) Straight up C++ 101 as far as I can tell. I instantiate the class in the main() function, which is defined in practice.cpp. Using Geany on Ubuntu, both the practice.o and mortgage.o files are created, but then I get a linker error: undefined reference to class::functionName
I get it for each function. If the mortgage.cpp file is foremost in the editor when I click "build", then I get the undefined reference to main() error, if practice.cpp is foremost (where the main() function is) then I get undefined reference to Mortgage::Mortgage(), and all the rest of the functions defined for that class. How do I get the linker to know where my object files are so it will link them in? Or is the problem somewhere else entirely?
I'm trying to link the MySQL libraries to some C code, the LambdaMOO server to be exact. I'm getting the following error:
gcc -g -O -L/usr/lib/mysql -lmysqld -I/usr/include/mysql ast.o code_gen.o db_lo
ad.o db_flush.o db_objects.o db_properties.o db_verbs.o decompile.o disassemble.
o eval_env.o eval_vm.o exceptions.o execute.o extensions.o functions.o keywords.
[code].....
You can see the link commands I'm using, and the lib and include path are both valid. I tried replacing -lmysqld with -lmysqlclient but this did not help. I'm using Debian and MySQL, libmysqld-dev and libmysqlclient-dev are all installed.
I am slowly getting accustomed with linux issues and its different programming compilation stuffs. and i must say am truly liking it. Now i am facing this typical error , "undefined reference to `clock_gettime'" while i am compiling a code, which is not mine as it required to install a simulator. Now i have read about this type for the last 2 days and i have included "-lrt" in the make file and included <time.h> in the header files which was missing but still i am getting that error.
Now matter how many times i run the make file with the required changes its still giving me this error, which i have comprehended as mainly linking problem rather than a compilation issue.
I am facing some problems when i am trying to link using g++. The linker error text is "undefined reference to `std::vector<std::string, std::allocator<std::string> >::end()'"
View 3 Replies View RelatedI am getting the bellow linker error with GCC 4.4 and GLIBC 2.12.
1. /usr/lib/../lib64/crt1.o: In function `_start': (.text+0x12): undefined reference to `__libc_csu_fini'
2. /usr/lib/../lib64/crt1.o: In function `_start': (.text+0x19): undefined reference to `__libc_csu_init'
When I am trying to compile the code in this linkI get the following error:
fmech_subs.o: In function `focalmc_':
fort77-3595-1.c.text+0xa9f): undefined reference to `rand_'
collect2: ld returned 1 exit status
[code]....
I get this error : debug/libns3.so: undefined reference to `SHA256_Update' debug/libns3.so: undefined reference to `SHA256_Final' debug/libns3.so: undefined reference to `SHA256_Init' collect2: ld returned 1 exit status
View 1 Replies View RelatedI keep getting the error:
Here is my code:
When the following little C program is compiled with gcc it does not get a compile error even though the function atof is undefined. If I change it to xatof then it goes get an "undefined reference" error. (I knowthat atof is a library function, and I know that it resides in stdlib.h But since I did not include stdlib.h I would think that it would give me an error). What am I missing here?
main()
{
double f;
[code]....
I am trying to update gtk+. I have installed pango-1.26.2 and glib 2.22.5. I see some error information, from google i know that it is old glib library fault. Ichecked. pkg-config --modversion glib shows 1.2.*** and pkg-config --modversion glib-2.0 shows 2.22.5. It looks like gtk+ using older 1.2.**.
[Code]....
I'd like to learn debugging techniques as much as to solve this particular problem. While trying to build yad 0.5.1:
Code:
yad-notification.o: In function `yad_notification_run':
/tmp/yad-0.5.1/src/notification.c:330: undefined reference to `gtk_status_icon_set_tooltip_text'
According to the source package's README file, "Yad depends on gtk+ only. Minimal gtk+ version is 2.12.0". I checked /var/log/packages and found gtk+2-2.14.7-i486-4 is installed.
Inspecting /tmp/yad-0.5.1/src/notification.c showed that gtk_status_icon_set_tooltip_text is a function. So it should be declared in the gtk+2-2.14.7 header files (or not?).
Checking:
Code:
c@CW8:/usr/include/gtk-2.0$ find . -name '*.h' -exec grep gtk_status_icon_set_tooltip_text {} ;
[no output]
Is this enough analysis to justify reporting an issue? Is there any more I can do before logging an issue?
OS: Slackware 13.0 32-bit.
yad download: http://code.google.com/p/yad/downloa...ar.xz&can=2&q=
The downloaded package checksums OK. Netsearching for gtk_status_icon_set_tooltip_text finds no pages.