- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 libconfig 1.7.2 库在 Ubuntu 18.04 上运行简单的 c++ 应用程序,该库随 vcpkg 版本 2018.11.23-unknownhash(Microsoft C++ Library Manager for Windows),cmake 版本为 3.14.3。静态库链接良好,包含指定的路径,但错误仍然存在。有人可以帮我找出问题所在吗?
项目目录:
--test2
----cmake
------CMakeHelpers.cmake
----include
------libconfig.h++
----release
----src
------CMakeLists.txt
------test.cpp
----CMakeLists.txt
CMakeLists.txt
cmake_minimum_required(VERSION 3.12)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_VERBOSE_MAKEFILE ON)
############ Project name and version
set (TEST_MAJOR_VERSION 1)
set (TEST_MINOR_VERSION 0)
set (TEST_PATCH_VERSION 0)
set (TEST_VERSION ${TEST_MAJOR_VERSION}.${TEST_MINOR_VERSION}.${TEST_PATCH_VERSION})
# Include our cmake macros
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include (CMakeHelpers)
add_subdirectory (src)
./src/CMakeLists.txt
init_target (test)
message (STATUS "set project " ${TARGET_NAME})
project (${TARGET_NAME} VERSION ${TEST_VERSION})
file (GLOB SOURCE_FILES
*.cpp
)
file (GLOB HEADER_FILES
*.h
)
find_library(LIBCONFIG_LOCATION libconfig++)
include_directories(/home/pavels/dev/cpp/test2/include)
include_directories(/home/pavels/dev/cpp/vcpkg/packages/libconfig_x64-linux/include)
include_directories(/home/pavels/dev/cpp/vcpkg/installed/x64-linux/include)
message (STATUS "Found LibConfig: " ${LIBCONFIG_LOCATION})
add_executable(${TARGET_NAME} ${SOURCE_FILES} ${HEADER_FILES})
target_link_libraries(test PRIVATE ${LIBCONFIG_LOCATION})
./src/test.cpp
#include <iostream>
#include <libconfig.h++>
using namespace libconfig;
int main(int argc, char* argv[])
{
std::cout << "Hello guys" << std::endl;
Config cfg;
// Read the file. If there is an error, report it and exit.
try
{
cfg.readFile("example.cfg");
}
catch(const FileIOException &fioex)
{
std::cerr << "I/O error while reading file." << std::endl;
return(EXIT_FAILURE);
}
catch(const ParseException &pex)
{
std::cerr << "Parse error at " << pex.getFile() << ":" << pex.getLine() << " - " << pex.getError() << std::endl;
return(EXIT_FAILURE);
}
return 0;
}
编译源:
>mkdir release;cd release
>../../cmake .. -DCMAKE_TOOLCHAIN_FILE=/home/pavels/dev/cpp/vcpkg/scripts/buildsystems/vcpkg.cmake
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- set project test
-- Found LibConfig: /home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pavels/dev/cpp/test2/release
>../../cmake --build .
/home/pavels/cmake/cmake-3.14.3-Linux-x86_64/bin/cmake -S/home/pavels/dev/cpp/test2 -B/home/pavels/dev/cpp/test2/release --check-build-system CMakeFiles/Makefile.cmake 0
/home/pavels/cmake/cmake-3.14.3-Linux-x86_64/bin/cmake -E cmake_progress_start /home/pavels/dev/cpp/test2/release/CMakeFiles /home/pavels/dev/cpp/test2/release/CMakeFiles/prog ress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/pavels/dev/cpp/test2/release'
/usr/bin/make -f src/CMakeFiles/test.dir/build.make src/CMakeFiles/test.dir/depend
make[2]: Entering directory '/home/pavels/dev/cpp/test2/release'
cd /home/pavels/dev/cpp/test2/release && /home/pavels/cmake/cmake-3.14.3-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/pavels/dev/cpp/test2 /home/pavels/dev/c pp/test2/src /home/pavels/dev/cpp/test2/release /home/pavels/dev/cpp/test2/release/src /home/pavels/dev/cpp/test2/release/src/CMakeFiles/test.dir/DependInfo.cmake --color=
Scanning dependencies of target test
make[2]: Leaving directory '/home/pavels/dev/cpp/test2/release'
/usr/bin/make -f src/CMakeFiles/test.dir/build.make src/CMakeFiles/test.dir/build
make[2]: Entering directory '/home/pavels/dev/cpp/test2/release'
[ 50%] Building CXX object src/CMakeFiles/test.dir/test.cpp.o
cd /home/pavels/dev/cpp/test2/release/src && /usr/bin/c++ -I/home/pavels/dev/cpp/test2/src -I/home/pavels/dev/cpp/test2/include -I/home/pavels/dev/cpp/vcpkg/packages/libconf ig_x64-linux/include -I/home/pavels/dev/cpp/vcpkg/installed/x64-linux/include -std=gnu++1z -o CMakeFiles/test.dir/test.cpp.o -c /home/pavels/dev/cpp/test2/src/test.cpp
[100%] Linking CXX executable test
cd /home/pavels/dev/cpp/test2/release/src && /home/pavels/cmake/cmake-3.14.3-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/test.dir/link.txt --verbose=1
/usr/bin/c++ -rdynamic CMakeFiles/test.dir/test.cpp.o -o test /home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::Config()':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:320: undefined reference to `config_init'
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:321: undefined reference to `config_set_hook'
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:322: undefined reference to `config_set_destructor'
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:323: undefined reference to `config_set_include_func'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::~Config()':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:330: undefined reference to `config_destroy'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::clear()':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:338: undefined reference to `config_clear'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::setOptions(int)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:345: undefined reference to `config_set_options'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::getOptions() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:352: undefined reference to `config_get_options'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::setOption(libconfig::Config::Option, bool)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:359: undefined reference to `config_set_option'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::getOption(libconfig::Config::Option) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:366: undefined reference to `config_get_option'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::setTabWidth(unsigned short)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:385: undefined reference to `config_set_tab_width'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::getTabWidth() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:392: undefined reference to `config_get_tab_width'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::setFloatPrecision(unsigned short)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:399: undefined reference to `config_set_float_precision'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::getFloatPrecision() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:406: undefined reference to `config_get_float_precision'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::setIncludeDir(char const*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:413: undefined reference to `config_set_include_dir'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::evaluateIncludePath(char const*, char const**)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:427: undefined reference to `config_default_include_func'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::read(_IO_FILE*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:455: undefined reference to `config_read'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::readString(char const*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:463: undefined reference to `config_read_string'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::write(_IO_FILE*) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:471: undefined reference to `config_write'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::readFile(char const*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:478: undefined reference to `config_read_file'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::writeFile(char const*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:486: undefined reference to `config_write_file'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::lookup(char const*) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:494: undefined reference to `config_lookup'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Config::exists(char const*) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:505: undefined reference to `config_lookup'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::Setting(config_setting_t*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:639: undefined reference to `config_setting_get_format'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::setFormat(libconfig::Setting::Format)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:673: undefined reference to `config_setting_set_format'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator bool() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:682: undefined reference to `config_setting_get_bool'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator int() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:691: undefined reference to `config_setting_get_int'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator unsigned int() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:700: undefined reference to `config_setting_get_int'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator long long() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:731: undefined reference to `config_setting_get_int64'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator unsigned long long() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:740: undefined reference to `config_setting_get_int64'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator double() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:751: undefined reference to `config_setting_get_float'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator float() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:761: undefined reference to `config_setting_get_float'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator char const*() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:770: undefined reference to `config_setting_get_string'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator std::__cxx11::basic_string<char, std::c har_traits<char>, std::allocator<char> >() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:779: undefined reference to `config_setting_get_string'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator=(bool)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:794: undefined reference to `config_setting_set_bool'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator=(int)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:805: undefined reference to `config_setting_set_int'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator=(long long const&)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:826: undefined reference to `config_setting_set_int64'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator=(double const&)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:837: undefined reference to `config_setting_set_float'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator=(float)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:850: undefined reference to `config_setting_set_float'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator=(char const*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:861: undefined reference to `config_setting_set_string'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator=(std::__cxx11::basic_string<char, std:: char_traits<char>, std::allocator<char> > const&)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:872: undefined reference to `config_setting_set_string'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::lookup(char const*) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:883: undefined reference to `config_setting_lookup'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator[](char const*) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:897: undefined reference to `config_setting_get_member'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::operator[](int) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:912: undefined reference to `config_setting_get_elem'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::exists(char const*) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1004: undefined reference to `config_setting_get_member'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::getLength() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1013: undefined reference to `config_setting_length'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::getIndex() const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1083: undefined reference to `config_setting_index'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::remove(char const*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1092: undefined reference to `config_setting_remove'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::remove(unsigned int)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1103: undefined reference to `config_setting_remove_elem'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::add(char const*, libconfig::Setting::Type)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1118: undefined reference to `config_setting_add'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::add(libconfig::Setting::Type)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1152: undefined reference to `config_setting_add'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::assertType(libconfig::Setting::Type) const':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1192: undefined reference to `config_get_option'
/home/pavels/dev/cpp/vcpkg/installed/x64-linux/debug/lib/liblibconfig++.a(libconfigcpp.cc.o): In function `libconfig::Setting::wrapSetting(config_setting_t*)':
/home/pavels/dev/cpp/vcpkg/buildtrees/libconfig/src/v1.7.2-ddbd1a1da6/lib/libconfigcpp.c++:1208: undefined reference to `config_setting_set_hook'
collect2: error: ld returned 1 exit status
src/CMakeFiles/test.dir/build.make:87: recipe for target 'src/test' failed
make[2]: *** [src/test] Error 1
make[2]: Leaving directory '/home/pavels/dev/cpp/test2/release'
CMakeFiles/Makefile2:93: recipe for target 'src/CMakeFiles/test.dir/all' failed
make[1]: *** [src/CMakeFiles/test.dir/all] Error 2
make[1]: Leaving directory '/home/pavels/dev/cpp/test2/release'
Makefile:86: recipe for target 'all' failed
make: *** [all] Error 2
最佳答案
此问题已通过附加链接 libconfig
库修复,其中定义了未定义的函数。
./src/CMakeLists.txt
init_target (test)
message (STATUS "set project " ${TARGET_NAME})
project (${TARGET_NAME} VERSION ${TEST_VERSION})
file (GLOB SOURCE_FILES
*.cpp
)
file (GLOB HEADER_FILES
*.h
)
find_library(LIBCONFIGPP_LOCATION libconfig++)
find_library(LIBCONFIG_LOCATION libconfig)
include_directories(/home/pavels/dev/cpp/test2/include)
include_directories(/home/pavels/dev/cpp/vcpkg/packages/libconfig_x64-linux/include)
include_directories(/home/pavels/dev/cpp/vcpkg/installed/x64-linux/include)
message (STATUS "Found LibConfig++: " ${LIBCONFIGPP_LOCATION})
message (STATUS "Found LibConfig: " ${LIBCONFIG_LOCATION})
add_executable(${TARGET_NAME} ${SOURCE_FILES} ${HEADER_FILES})
target_link_libraries(test PRIVATE ${LIBCONFIGPP_LOCATION} ${LIBCONFIG_LOCATION})
关于c++ - 使用 libconfig 库的 C++ 应用程序的 cmake 编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56007223/
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!