簡體   English   中英

在 QT Creator 中使用 PicklingTools

[英]Using PicklingTools with QT Creator

我正在嘗試將最新版本的 PicklingTools ( http://www.picklingtools.com/ ) 與 QT Creator 一起使用。 我只想打開我與 PicklingTools 文件一起下載的腌制示例文件。 所以我的 main.cpp 文件看起來很基本:

#include <iostream>
#include "chooseser.h"

using namespace std;

int main()
{
    Val result;
    LoadValFromFile("../PicklingTools163Release/C++/SamplePickles/p7.pkl",result,SERIALIZE_P0);
    return 0;
}

我按以下方式編輯了 .pro 文件:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp \

INCLUDEPATH += ../PicklingTools163Release/C++/
INCLUDEPATH += ../PicklingTools163Release/C++/opencontainers_1_8_4/include/

LIBS += -pthread

HEADERS += \
    ../PicklingTools163Release/C++/chooseser.h \

QMAKE_CXXFLAGS += -std=c++0x -pthread
QMAKE_CXXFLAGS += -fno-strict-aliasing -DLINUX_ -DOC_NEW_STYLE_INCLUDES -Wno-deprecated -I../PicklingTools163Release/C++/opencontainers_1_8_4/include -I../PicklingTools163Release/C++ -pthread -D_REENTRANT

目前我收到多個未定義的參考錯誤:

 - Fehler: undefined reference to `OC::CopyPrintableBufferToVector(char const*, unsigned long, char*, unsigned long)'
 - Fehler: undefined reference to `OC::P2TopLevelLoadVal(OC::Val&, char*)'
 - Fehler: undefined reference to `OC::OpalLoadSomeTable(OC::Val&, char*, bool, OC::MachineRep_e)'
 - Fehler: undefined reference to `OC::CopyPrintableBufferToVector(char const*, unsigned long, char*, unsigned long)'
 - Fehler: undefined reference to `OC::MakeVector(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, char const*, unsigned long)'

我想我需要進一步編輯.pro文件,但現在我不知道該怎么做。

OpenContainers 代碼僅作為 INCLUDE 工作,也就是說,您無需鏈接任何東西即可使用 OpenContainers 代碼(OC::Val、OC::Tab 等)。 但!

要使用任何P2TopLevelLoadVal代碼(例如您看到的P2TopLevelLoadValMakeVector等的未定義條目),您需要針對 ptools 庫構建和鏈接。 該庫包含所有 Python 酸洗代碼。

% cd /home/me/PicklingTools163Release/C++
% make -f Makefile.Linux libptools.so
# .... builds a lot of files, and put them into libptools.so ....
# Update your Makefile to link against libptools.so

希望有幫助。 在你的 Makefile 中鏈接libptools.so

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM