Первое использование библиотеки POCO C ++ в Gentoo

Я установил POCO через emerge и при первой же попытке компилирования получаю

undefined reference to `Poco::RefCountedObject::RefCountedObject()

Который ясно указал, что не находит библиотеки.
Не появляется ли связь для вас?

Как мне скомпилировать или правильно связать POCO в Gentoo, чтобы он нашел библиотеки?

#include "Poco/ActiveMethod.h"#include "Poco/ActiveResult.h"#include <utility>
#include <iostream>

using Poco::ActiveMethod;
using Poco::ActiveResult;

class ActiveAdder
{
public:
ActiveAdder(): add(this, &ActiveAdder::addImpl)
{
}

ActiveMethod<int, std::pair<int, int>, ActiveAdder> add;

private:
int addImpl(const std::pair<int, int>& args)
{
return args.first + args.second;
}
};

int main(int argc, char** argv)
{
ActiveAdder adder;

ActiveResult<int> sum = adder.add(std::make_pair(1, 2));
// do other things
sum.wait();
std::cout << sum.data() << std::endl;

return 0;
}

0

Решение

POCO gentoo ebuild имеет флаги использования, которые включают некоторые части POCO.

feniks@charlotte  ~  equery uses poco
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
* Found these USE flags for dev-libs/poco-1.6.0:
U I
+ + 7z                : <unknown>
+ + apache2           : Add Apache2 support
+ + cppparser         : <unknown>
+ + crypto            : <unknown>
+ + data              : <unknown>
+ + doc               : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead
of globally
+ + file2pagecompiler : <unknown>
- - iodbc             : Add support for iODBC library
+ + json              : <unknown>
- - mongodb           : <unknown>
+ + mysql             : Add mySQL Database support
+ + net               : <unknown>
- - odbc              : Add ODBC Support (Open DataBase Connectivity)
+ + pagecompiler      : <unknown>
+ + pdf               : Add general support for PDF (Portable Document Format), this replaces the pdflib and cpdflib
flags
+ + sqlite            : Add support for sqlite - embedded sql database
+ + ssl               : Add support for Secure Socket Layer connections
+ + tests             : <unknown>
+ + util              : <unknown>
+ + xml               : Add support for XML files
+ + zip               : <unknown>

Также вам следует связать вашу программу с самим poco. Все базовые классы в PocoFoundation (как в вашем случае).

Например, вот мои флаги ссылок (сгенерированные CMake):

test.o /usr/lib64/libPocoJSON.so.30 /usr/lib64/libPocoXML.so.30 -lboost_program_options-mt -lboost_locale-mt -lboost_system-mt -lboost_filesystem-mt cpsp/libtinyhttp_cpsp.a api/libtinyhttp_api.a /usr/lib64/libPocoFoundation.so.1.6.0 -lpcre -lz -lpthread -ldl -lrt -lexpat
0

Другие решения

Используйте QT websockets !!!!!!!!!!!!!!

-1

По вопросам рекламы [email protected]