C/C++ :: Getting Undefined Reference Error To A Function
Mar 16, 2015
I'm getting an undefined reference error to a function, and I can't figure out why. I have tried letting code blocks compile the files, I have tried the command line to compile it with the same results.
I looked up the error and found this from [URL]
undefined reference
Example
/tmp/cc2Q0kRa.o: In function `main':
/tmp/cc2Q0kRa.o(.text+0x18): undefined reference to `Print(int)'
collect2: ld returned 1 exit status
Meaning / Your code called the function Print, but the linker could not find the code for it in any .o file
Usual Causes
You forgot to link the .o file that contains the function
You misspelled the name of the function
You spelled the name of the function correctly, but the parameter list is different in someway
which seems to be the error I get. I have double checked all 4 and I see nothing.
The code that specifically gives me the error is:
Item *name = new Item(desc, id, weight, loc);
itemMap.addItem(name);
and the class looks like this:
class Item // Standard Items {
private:
std::string name;
std::string desc;
int id;
int weight;
int loc;
[code].....
I think everything matches up unless I'm just missing it.
I am modifying a set of static variables inside of the class's member function. The static variables are private. An example of what I'm doing is as below,
utilities.h ----------- class utilities { private: static int num_nodes;
public: void parse_details(char* );
[Code] ....
I get a compilation error in the function void utilities::parse_details(char* filename)
which says: undefined reference to `utilities::num_nodes'
I'm making a program that's essentially a Text-Based Fire Emblem game; it runs calculations and rolls dice and has all sorts of Goodies. However, I have hit a block to the tune of
#ifndef ITEM_H #define ITEM_H class Item {
[Code]....
Up Until I called up a Sword object, it worked fine. But when I compiled it, I got an Undefined Reference to Item::Item() error in Line 8 of Weapon.cpp.
Everything seems to be in order and I know my code still has mistakes. I'm just trying to get it to compile and it won't allow it. I've narrowed it down to when I call the functions in main but beyond that I have no clue.
#include <iostream> #include <cstring> using namespace std; void getSize(int num); void getSpace(int num, int ptr); void inputData(); void printData(); void destroy(); const int BIG_NUMBER = 100;
//pa4.cpp wirtten by Syd Frederick #include<iostream> #include<string> #include<fstream>
[Code].....
When compiling I'm getting a strange error that says :
/tmp/ccdt0Bf9.o: In function `main': pa4.cpp:(.text+0x1c): undefined reference to `synopsis()' pa4.cpp:(.text+0x1e7): undefined reference to `execute(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' collect2: ld returned 1 exit status
I don't understand how memcpy can't be there, it's been standard for 40 years. And I'm not using memcpy in my code, it's likely coming from one of the STL containers I use.
trying to practice the object-oriented part of it by converting my java programs into c++. I believe I understand the concepts of a header file and declaring the functions in the .cpp files. I keep getting this "Undefined reference to NamedStorm::NamedStorm()" error.
NamedStorm.h #ifndef NAMEDSTORM_H #define NAMEDSTORM_H #include <string> #include <iostream> // NEVER use using namespce in header, use std instead. using std::string;
vijay13@ubuntu:~/Downloads$ g++ -o test test.cpp -I /home/vijay13/Downloads/OGDF-snapshot/include/
I am getting following error:
vijay13@ubuntu:~/Downloads$ g++ -o test test.cpp -I /home/vijay13/Downloads/OGDF-snapshot/include/ /tmp/ccPE8nCu.o: In function `main': test.cpp:(.text+0x26): undefined reference to `ogdf::Graph::Graph()' ...................... so on
I am looking to program a digital to analog converter to output voltage on 12 of the available analog channels. I am an novice-intermediate programmer but cannot seem to solve a problem with undefined references.
I downloaded Measurement Computing's "DAQ" and "Instacal" programs to allow for the USB-3105 board to be recognized. Included with instillation is the Universal Library example programs for the USB-3105 DAC.
I am running windows 7 and using Code::Blocks with a GNU GCC compiler to try and run this sample program on the board. The program is also written in C/C++
When I load the VOut01.C file from the examples it reads:
int EXTCCONV cbDeclareRevision(float *RevNum); int EXTCCONV cbErrHandling (int ErrReporting, int ErrHandling); int EXTCCONV cbVOut (int BoardNum, int Chan, int Gain, float DataValue, int Options);
The program Instacal in combination with the header file is supposed to recognize the "BoardNum" and allows for the "int Chan", "int Gain", "float DataValue", and all other subsequent dependent variables to exist.
However, I am still retaining these undefined reference errors even when I used Instacal to define the variables of the board (BoardNum, int Chan, ...ect) and added the full location of the header file.
My questions are:
-Why is this section of the header file dimmed after the endif statements? -Is this reference problem a problem with the header files directory? -Do the declarations of the function in the header file prevent them from being access due to their names and or symbolism? -Why are the reference errors @4, @8, or @20, and what does this mean?
I am coding in C++ an implementation of BTree Insertion. I want to display the contents of the Tree in a per-level format. After writing functions and trying to run. I get the error Undefined reference.
// C++ program for B-Tree insertion #include<iostream> using namespace std;
// A BTree node class BTreeNode{ int *keys; // An array of keys int order; // Minimum degree (defines the range for number of keys) BTreeNode **child; // An array of child pointers int size; // Current number of keys
So on lines 36 - 39 (The commented out functions) is where I'm sure is causing this error because once I don't comment them out pretty much everywhere Flink or Rlink is used or defined I get this error.
I have some code does not compile. I think it's missing an included library, but not sure.
In the int main() block of code, the following three items give errors:
1. Mtrx (the one following "new") - Error: expected a type specifier 2. result - Error: expected a ";" 3. &result - identifier "result" is undefined
Below is the code with the head to show you what has been included:
HTML Code: #include <iostream> #include <iomanip> using namespace std; #include <limits.h> // create the structure of the matrix struct Mtrx { int numRows; int numCols; float array[101][101];
I've been trying for more than one month to access a method found in a library called libcocosnas_static.a. I'm using Cocos2d-X version 2.0.4. The library has been used many times by my company to make games using cocos2d-1.0.1-x-0.12.0 without any problem.
This is what I've done: 1- I added the include paths of the library to both eclipse and Android.mk 2- Included the .h file using #include "NASPlatformUtil.h" 3- Added the libcocosnas_static.a file to the proj.androidobjlocalarmeabi folder 4- Added "LOCAL_WHOLE_STATIC_LIBRARIES += cocosnas_static" to the Android.mk file 5- Called the function using: NASPlatformUtil:: openUrl("http://xxx.xxx.com/");
I can right click on the function, click Open Declaration and get it without any problem, but the compiler keeps on giving me that dreaded error...
I have an odd compiling error. My base class is all delcared and read to go. But I could not figure out how to get my sub classes inherit from it. So I had to make everything public. Even inheriting using the protected inheritance thingy, still could not get them to inherit from that base class.
So I compiled the program, and no other class came back with an error. only my base class. Here is the base class:
#include <iostream> #include <string> using namespace std; class Bankaccount {
[Code] .....
The error I'm getting is saying:
error C2143: syntax error : missing ';' before 'using' Where is there anything needing a semicolon before using?
'Bankaccount' : 'class' type redefinition see declaration of 'Bankaccount'
Is it saying this because I don't have any private class members?
'Bankaccount' : base class undefined
But it is defined.
What is the issue with this class? And how can I get it to compile and run?