Код: Выделить всё
//minimal.cpp
#include
#include
int main()
{
sf::Window window;
window.create(sf::VideoMode(800, 600), "My window");
std::cin.get();
}
Код: Выделить всё
Undefined symbols for architecture x86_64:
"sf::String::String(char const*, std::locale const&)", referenced from:
_main in cc8FVpbm.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
Код: Выделить всё
g++ minimal.cpp -I /usr/local/Cellar/sfml/2.6.1/include -L /usr/local/Cellar/sfml/2.6.1/lib -l sfml-window -l sfml-system
Файл минимальный.cpp< /code> находится в каталоге моего проекта, содержимое которого:
Код: Выделить всё
usr: ~/proj$ ls -a
. .gitignore arrayop.hpp main.cpp simpars.hpp statistics.hpp
.. CMakeLists.txt boid.cpp minimal.cpp simulation.cpp walls.hpp
.clang-format README-esame.md boid.hpp prova.cpp simulation.hpp
.git README.md doctest.h provarand.cpp statistics.cpp
Думаю, я знаю, что такое неопределенная ошибка ссылки и как ее исправить. Что меня смущает в этой конкретной ошибке компоновки, так это то, что проблема исчезает и программа компонуется успешно, если я перемещаю исходный код (то есть минимальный. cpp) в другой каталог (например, на рабочий стол) и пытаюсь выполнить компиляцию там с помощью той же команды.
Может ли Git иметь к этому какое-то отношение? Понятия не имею.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ml-library