Я новичок в C++, и я работаю с IDE Code :: Blocks on Windows. У меня есть проект myProject и У меня есть другой проект myProjectTesting, который зависит от моего проекта.Код :: Блоки зависимости между проектами
У меня есть myProject как зависимость для myProjectTesting, как объясняется в Code::Blocks documentation.
myProjectTesting содержит только один файл со следующим кодом:
#include "Position.hpp"
int main()
{
Position position(3, 4);
return 0;
}
Position.hpp является классом заголовка в MyProject. У меня есть следующее сообщение об ошибке при компиляции с GCC:
undefined reference to `Position::Position(int, int)'.
Обратите внимание, что линия Position position(3, 4);
работает нормально, если я использую его в MyProject.
Position.hpp файл:
/*
* Position.hpp
*
* Created on: 30/08/2014
* Author: Romain
*/
#ifndef POSITION_H_
#define POSITION_H_
#include <string>
class Position
{
public:
Position(int _x, int _y);
Position();
Position deltaX(int delta);
Position deltaY(int delta);
Position deltaXY(int deltaX, int deltaY);
int getX();
int getY();
std::string print();
private:
int x;
int y;
};
#endif /* POSITION_H_ */
Можете ли вы также опубликовать код 'Position.hpp'. –
@Learner Конечно, я только что добавил файл. – Romain
Ваша ошибка свидетельствует о том, что 'myProjectTesting' не может найти определение' Position :: Position (int, int) '. Поэтому я предполагаю, что вы не связали свой 'myProject' с' myProjectTesting' должным образом. –