Я новичок в gnuplot и пытался просто построить график случайных чисел, чтобы визуализировать распределение функции psuedo-random rand()
в c ++. Однако я столкнулся с проблемой, которая кажется распространенной: путь не найден для gnuplot.exe.
Возможная соответствующая информация, прежде чем я продолжу:
Под управлением Windows 10 64-bit. Компилятор: CLion. Путь к gnuplot.exe: C:\Program Files (x86)\gnuplot\bin
У меня есть последняя версия формы gnuplot sourceforge (по состоянию на 21.10.19: 5.2.7 я верю).
Я уже проверил этивопросы:
gnuplot-cpp не может передать команду в канал
Gnuplot & C ++: не удается найти gnuplot ни в PATH, ни в "
Я просмотрел много других вопросов, но они не имели отношения к моей проблеме. Я попытался реализовать ответы там и не добился прогресса. У меня такой же gnuplot_i.hpp файл и изменил строку проблемы:
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__TOS_WIN__)
std::string Gnuplot::m_sGNUPlotFileName = "gnuplot.exe";
std::string Gnuplot::m_sGNUPlotPath = "C:/Program_Files(x86)/gnuplot/bin/";
У меня также есть правильный PATH
для gnuplot в качестве переменной среды и я могу выполнить gnuplot
из cmd.
я получил следующие ошибки:
Cannot find gnuplot neither in PATH nor in "C:/Program_Files(x86)/gnuplot/bin"
и, когда я удалил "_" из пути выше и заменил его пробелом:
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Последний являетсятолько тот, который появляется сейчас, хотя у меня больше нет места, как уже упоминалось,Путь - это известная ошибка с gnuplot. Я знаю, что Program_Files(x86)
не является реальным путем, я просто пытался избавиться от второго сообщения об ошибке.
Мой main.cpp, если он вообще имеет значение:
#include <iostream>
#include "gnuplot_i.h"
#include <cstdlib>
#include <vector>
using namespace std;
int main(int argc, char* argv[]) {
try {
Gnuplot rand_plot("lines");
}
catch (GnuplotException ge) {
cout << ge.what() << endl;
}
return 0;
}
Любая помощь в решении этих ошибок будет принята с благодарностью.