- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编译一个使用 ICU 和 libboost 的代码。为此,我使用了以下 install.sh
文件。问题是我收到此错误:
/usr/bin/ld: warning: libicuuc.so.52, needed by /opt/boost-1.54.0/lib/libboost_regex.so, not found (try using -rpath or -rpath-link)
我知道我必须在cmakeLists.txt 文件中添加一些内容:
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS} -rpath=/opt/icu_52.1/")
但它不起作用:
c++: error: unrecognized command line option ‘-rpath=/opt/icu_52.1/’
当我尝试时: set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS} -Wl,-rpath=/opt/icu_52.1/")
错误: /usr/bin/ld:警告:libicuuc.so.52,/opt/boost-1.54.0/lib/libboost_regex-mt.so 需要,不是找到(尝试使用 -rpath 或 -rpath-link)
module load icu-52.1
module load boost_1_54_0
module load qt5.5.0
ENTLK_DIST=/home/hani/ENTLK_DIST
export BOOST_ROOT=/opt/boost-1.54.0/
export ICU_ROOT=/opt/icu_52.1/
export PATH=/opt/qt-5.5.0/bin:$PATH
export LD_LIBRARY_PATH=/opt/qt-5.5.0/lib
#######################################
# compile and install in ENTLK_DIST
#######################################
export ENTLK_DIST=/home/hani/ENTLK_DIST
mkdir -p build && cd build
rm -f CMakeCache.txt
cmake .. -DCMAKE_INSTALL_PREFIX=$ENTLK_DIST
make -j8 && make install
project(Entlk)
cmake_minimum_required(VERSION 2.6)------------------------------------------------------------------------------
# Support C++11
# ------------------------------------------------------------------------------
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG(-std=c++11 HAVE_STDCPP11)
if (HAVE_STDCPP11)
message("-- C++11 supported")
add_definitions(-DHAVE_STDCPP11) # to be used in the cpp code
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS} -lboost_regex")
else (HAVE_STDCPP11)
message("-- C++11 NOT supported")
set(CMAKE_CXX_FLAGS "-DNO_STDCPP11 ${CMAKE_CXX_FLAGS}")
endif (HAVE_STDCPP11)
# warnings
# disable warnings on unknown pragmas (used by sqlite_modern)
set(CMAKE_CXX_FLAGS "-W -Wall -Wno-unknown-pragmas ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "-fPIC ${CMAKE_CXX_FLAGS}")
#use Stanford NER instead of MITIE
#set(CMAKE_CXX_FLAGS "-DUSE_STANFORD_NER ${CMAKE_CXX_FLAGS}")
# display install directory
message(STATUS "Install directory is CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}")
# ------------------------------------------------------------------------------
# configure third party librairies
# ------------------------------------------------------------------------------
include(cmake/EntlkUtils.cmake)
# Path to look for FindXXX.cmake files
set(CMAKE_MODULE_PATH
"${CMAKE_SOURCE_DIR}/cmake" # available in this project
)
find_package(ICU 4.4 REQUIRED)
include_directories(${ICU_INCLUDE_DIRS})
# include Qt (for lima)
include(${CMAKE_SOURCE_DIR}/cmake/manageQt5.cmake)
addQt5Modules(Core Xml)
include_directories(${Qt5_INCLUDES})
set(QT_LIBRARIES "${Qt5_LIBRARIES}")
find_package(Boost 1.46 REQUIRED COMPONENTS regex serialization system filesystem program_options timer log)
include_directories(${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIRS})
# add define needed by Boost Log
set(CMAKE_CXX_FLAGS "-DBOOST_LOG_DYN_LINK ${CMAKE_CXX_FLAGS}")
#message(STATUS "using Boost libraries ${Boost_LIBRARIES}")
最佳答案
添加到您的 CMakeLists.txt 文件:
link_directories(/opt/icu_52.1/lib)
你也可以试试看有没有人写过ICU的find包,反正cmake的标准模块里没有。
关于c++ - libicuuc.so.52,需要 libboost_regex-mt.so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36743865/
我正在尝试在我的 C++ 代码中编译一些正则表达式。 我运行了 ln -s/usr/lib64/libboost_regex.so.1.53.0/usr/lib/libboost_regex.so以便
简介 我想编译一个使用 ICU 和 libboost 的代码。为此,我使用了以下 install.sh 文件。问题是我收到此错误: /usr/bin/ld: warning: libicuuc.so.
我正在尝试在我的程序中使用 boost 正则表达式问题是我得到这个错误......我所做的唯一安装步骤是添加:“C:\Program Files\boost\boost_1_42”进入附加包含目录..
当使用带有 boost/regex 的 Rcpp 时,Build&reload 显示 Error in eval(expr, envir, enclos) : object 'libboost_reg
问题 我正在学习 boost 库,以便将来在我的 Windows 上的 x64 控制台应用程序中使用。我尝试了此处提供的最简单示例: http://www.boost.org/doc/libs/1_5
不知道为什么会这样,我从 here 下载了库虽然我有一个名为“libboost_regex-vc90-mt-gd-1_39.lib”的库,但我没有一个名为“libboost_regex-vc100-m
我是一名优秀的程序员,十分优秀!