2013-12-19 3 views
0

У меня возникла проблема, когда я пытаюсь включить использование функции из созданного мной заголовка. Ниже мой файл заголовка: random.hНеопределенная ссылка на randomInteger

#ifndef _random_h 
#define _random_h 

int randomInteger(int low, int high); 

#endif // _random_h 

Следующая мой файл реализации: random.cpp

#include <iostream> 
#include "random.h" 
using namespace std; 

int randomInteger(int low, int high) 
{ 
    return 1200; 
} 

Теперь это моя основная программа ниже: helloworld.cpp

#include <iostream> 
#include "random.h" 


int main() 
{ 
    int num = randomInteger(10, 110); 
    std::cout << num << std::endl; 
    return 0; 

} 

Я получаю сообщение об ошибке при запуске моей основной программы, в которой указано Неопределенная ссылка на randomInteger (int, int).

+0

Какой компилятор вы используете? – pippin1289

+1

Вы либо не скомпилировали 'random.cpp', либо файл obj, сгенерированный им, не связан должным образом. –

+0

Я использую codeblocks для окна – user2548635

ответ

1

Вам необходимо скомпилировать random.cpp и helloworld.cpp с флагом -c (предполагая gcc/g ++), только для компиляции. Как это будет просто создать вам объектный файл, а не будет искать для конкретной основной функции()

Затем вам нужно скомпилировать с чем-то вроде этого g++ -o myprogramtorun random.o helloworld.o

ИЛИ вы можете сделать это за один шаг, как это :

g++ -o myprogramtorun random.cpp helloworld.cpp, но это становится неустойчивым

Смежные вопросы