Хочу использовать этот репо
Сделал все правильно получил динамическую библиотеку .so
Но когда компилирую
g++ a.cpp -llibselenium
из той же директории где и .со
Не компилируется с ошибкой:
root@vm:~# g++ a.cpp -llibselenium
a.cpp: In function ‘int main(int, char**)’:
a.cpp:12:60: error: no matching function for call to ‘Selenium::Selenium(const char [29])’
Selenium* s = new Selenium("http://127.0.0.1:4444/wd/hub");
^
In file included from a.cpp:1:0:
/usr/local/include/selenium/selenium.hpp:12:4: note: candidate: Selenium::Selenium(std::__cxx11::string, bool)
Selenium(std::string,bool);
^~~~~~~~
/usr/local/include/selenium/selenium.hpp:12:4: note: candidate expects 2 arguments, 1 provided
/usr/local/include/selenium/selenium.hpp:8:7: note: candidate: Selenium::Selenium(const Selenium&)
class Selenium {
^~~~~~~~
/usr/local/include/selenium/selenium.hpp:8:7: note: no known conversion for argument 1 from ‘const char [29]’ to
‘const Selenium&’
/usr/local/include/selenium/selenium.hpp:8:7: note: candidate: Selenium::Selenium(Selenium&&)
/usr/local/include/selenium/selenium.hpp:8:7: note: no known conversion for argument 1 from ‘const char [29]’ to
‘Selenium&&’
как я понимаю функция обьявленая в заголовке не экспортируется из библиотеки при компиляции. как это исправить?
код в а.цаа из примера:
#include <selenium/selenium.hpp>
#include <iostream>
#include <vector>
using std::string;
using std::cout;
using std::endl;
int main(int argc,char** argv) {
//creates new selenium object with the selenium entry page as argument.
Selenium* s = new Selenium("http://127.0.0.1:4444/wd/hub"); // ошибка тут
//creates new selenium session.
Session* sess = s->createSession(new Capabilities());
//goes to the google home page.
sess->url("http://www.google.com");
//gets all the links on the page
std::vector<Element*> links = sess->elements(new ElementQuery(ElementQuery::STRAT_TAG_NAME,"a"));
//displays the number of links on the google homepage
cout << "# of links:" << links.size() << endl;
}