C++ poppler-qt5,MacOS ld:未找到架构x86_64的符号

C++ poppler-qt5,MacOS ld:未找到架构x86_64的符号,c++,qt,qt5,linker-errors,poppler,C++,Qt,Qt5,Linker Errors,Poppler,不久前我进入了Qt,我在链接库方面遇到了问题 我使用提供的安装指南构建了poppler-0.63版本 tar zippedPoppler cd poppler mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=pathToQt5.9.2 -DCMAKE_CXX_COMPILER=clang++ make CXX=pathToclang++Compiler sudo make install make

不久前我进入了Qt,我在链接库方面遇到了问题

我使用提供的安装指南构建了poppler-0.63版本

tar zippedPoppler   
cd poppler    
mkdir build    
cd build     
cmake .. -DCMAKE_INSTALL_PREFIX=pathToQt5.9.2 -DCMAKE_CXX_COMPILER=clang++     
make CXX=pathToclang++Compiler
sudo make install
make clear
没有任何错误

我已经创建了新的Qt项目,补充道

INCLUDEPATH += /Users/p.witkowski/Qt/5.9.2/clang_64/include/poppler/qt5
LIBS += -L/Users/p.witkowski/Qt/5.9.2/clang_64/lib -lpoppler -v
在.cpp文件中包含是可以的,没有任何错误-但是当我尝试使用来自poppler的任何内容时,我会出现链接错误

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <poppler-qt5.h>
int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);
    Poppler::Document *doc = Poppler::Document::load("/Users/p.witkowski/Desktop/abc.pdf");
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    return app.exec();
}

您是否检查过poppler构建的库是否真的低于Users/p.witkowski/Qt/5.9.2/clang_64/lib?是的-正好是/Users/p.witkowski/Qt/5.9.2/clang_64/lib/libpoppler.dylibOk。链接器行看起来很好(具有相同的路径)。可能动态库中没有导出Poppler::Document::load方法?您可以检查(如果不知道如何检查,请参见此问题)(您也可以仅为了测试而将行修改为仅Poppler::Document*doc;以查看。
12:47:20: Running steps for project untitled1...
12:47:20: Configuration unchanged, skipping qmake step.
12:47:20: Starting: "/usr/bin/make" 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.10 -Wall -W -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../untitled1 -I. -I../../Qt/5.9.2/clang_64/include/poppler/qt5 -I../../Qt/5.9.2/clang_64/lib/QtQuick.framework/Headers -I../../Qt/5.9.2/clang_64/lib/QtGui.framework/Headers -I../../Qt/5.9.2/clang_64/lib/QtQml.framework/Headers -I../../Qt/5.9.2/clang_64/lib/QtNetwork.framework/Headers -I../../Qt/5.9.2/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../Qt/5.9.2/clang_64/mkspecs/macx-clang -F/Users/p.witkowski/Qt/5.9.2/clang_64/lib -o main.o ../untitled1/main.cpp
../untitled1/main.cpp:9:24: warning: unused variable 'doc' [-Wunused-variable]
    Poppler::Document *doc = Poppler::Document::load("/Users/p.witkowski/Desktop/abc.pdf");
                       ^
1 warning generated.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -headerpad_max_install_names  -arch x86_64 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.10 -Wl,-rpath,@executable_path/Frameworks -Wl,-rpath,/Users/p.witkowski/Qt/5.9.2/clang_64/lib -o untitled1.app/Contents/MacOS/untitled1 main.o qrc_qml.o   -F/Users/p.witkowski/Qt/5.9.2/clang_64/lib -L/Users/p.witkowski/Qt/5.9.2/clang_64/lib -lpoppler -v -framework QtQuick -framework QtQml -framework QtNetwork -framework QtCore -framework DiskArbitration -framework IOKit -framework QtGui -framework OpenGL -framework AGL 
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -headerpad_max_install_names -macosx_version_min 10.10.0 -o untitled1.app/Contents/MacOS/untitled1 -L/Users/p.witkowski/Qt/5.9.2/clang_64/lib -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -rpath @executable_path/Frameworks -rpath /Users/p.witkowski/Qt/5.9.2/clang_64/lib main.o qrc_qml.o -lpoppler -framework QtQuick -framework QtQml -framework QtNetwork -framework QtCore -framework DiskArbitration -framework IOKit -framework QtGui -framework OpenGL -framework AGL -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/lib/darwin/libclang_rt.osx.a -F/Users/p.witkowski/Qt/5.9.2/clang_64/lib
Undefined symbols for architecture x86_64:
  "Poppler::Document::load(QString const&, QByteArray const&, QByteArray const&)", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [untitled1.app/Contents/MacOS/untitled1] Error 1
12:47:23: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled1 (kit: TESTDesktop Qt 5.9.2 clang 64bit)
When executing step "Make"
12:47:23: Elapsed time: 00:02.