Не совсем уверен, и у меня нет Mac, поэтому я не могу его протестировать, но я думаю, что вы могли бы просто отбросить окончание файла dylib и библиотеку lib впереди и использовать это после -l,как вы делаете с другими.
Что-то вроде этого:
g++ -g -I/Users/cjm10000/Desktop/7701X/code/include/SFML-2.4.2-osx-clang/include -L/Users/cjm10000/Desktop/7701X/code/include/SFML-2.4.2-osx-clang/lib -lsfml-graphics -lsfml-window-d -lsfml-system-d virtual_field.cpp -o virtual_field
Edit
Я посмотрел вверхраздел на странице справочника для ld
, который выполняет фактическое связывание и говорит:
-l namespec
--library = namespec
Добавить архив или объектфайл, указанный в namespec для списка файлов для ссылки.Эта опция может использоваться любое количество раз.Если namespec имеет форму: filename, ld будет искать путь к библиотеке для файла с именем filename, в противном случае он будет искать путь к библиотеке для файла с именем libnamespec.a.
В системах, которые поддерживают общие библиотеки, ldможет также искать файлы, отличные от libnamespec.a.В частности, в системах ELF и SunOS ld будет искать в каталоге библиотеку libnamespec.so, прежде чем искать библиотеку libnamespec.a.(По соглашению расширение «.so» указывает на разделяемую библиотеку.) Обратите внимание, что это поведение не относится к: filename, который всегда указывает файл с именем filename.
Таким образом, вы могли использоватьформат -l:libsfml-graphics.2.4.2.dylib
похоже.Обратите внимание, что это из справочной страницы ld, работающей в системе GNU / linux, поэтому они не упоминают dylib, так как это, кажется, специфический формат файлов Mac.