Когда я пытаюсь собрать свой код в коде Visual Studio с помощью MinGW, я получаю ошибку компоновщика. В настоящее время я читаю главы о графике из книги Бьярна Страуструпа «Принципы и практика использования C ++, 2-е издание» и пытаюсь заставить необходимые файлы работать. Мне удалось заставить работать FLTK, но как только я добавил файлы Страуструпа, при попытке сборки появились две ошибки. В настоящее время я использую Windows 10 x64-систему и использую последнюю версию кода MinGW, FLTK и Visual Studio. Я потратил последние дни, пытаясь заставить это работать, как вы видите мои задачи. json немного запутан.
Сообщение об ошибке:
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/MinGW/msys/1.0/local/lib/libfltk_images.a(Fl_JPEG_Image.o):Fl_JPEG_Image.cxx:(.text$_ZN13Fl_JPEG_ImageC2EPKcPKh+0x343): undefined reference to `Fl_Shared_Image::Fl_Shared_Image(char const*, Fl_Image*)'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/MinGW/msys/1.0/local/lib/libfltk_images.a(Fl_JPEG_Image.o):Fl_JPEG_Image.cxx (.text$_ZN13Fl_JPEG_ImageC2EPKcPKh+0x34d): undefined reference to `Fl_Shared_Image::add()'
main. cpp
#include "Simple_window.h"
#include "Graph.h"
int main() {
Point tl{100,100};
Simple_window win{tl,600,400,"Canvas"};
Graph_lib::Polygon poly;
poly.add(Point{300,200});
poly.add(Point{350,100});
poly.add(Point{400,200});
poly.set_color(Color::red);
win.attach(poly);
win.wait_for_button();
}
c_cpp_properties. json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/MinGW/msys/1.0/local/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\MinGW\\bin\\g++.exe",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "clang-x86"
}
],
"version": 4
}
задач. json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "shell: g++.exe build active file",
"command": "C:\\MinGW\\bin\\g++.exe",
"args": [
"-g",
"${fileDirname}\\*.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-LC:/MinGW/msys/1.0/local/lib",
"-IC:/MinGW/msys/1.0/local/include",
"-mwindows",
"-lfltk",
"-lfltk_images",
"-lfltk_jpeg",
"-lole32",
"-luuid",
"-lcomctl32",
],
"options": {
"cwd": "C:\\MinGW\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}