how to debug pjsip static library

MJ
Mingqi Jin
Thu, Mar 21, 2019 2:59 AM

hi , i compiled pjsip 2.8 using this configure

./configure CXXFLAGS="-O3 -DNDEBUG" --prefix=/usr/pjproject-2.8
make dep & make
make install

i testd simpleua.c in CLion 2018.3.4, it can work, but it can't debug pjsip
static library source code, i am new in gcc,  unfamiliar with
http://www.baidu.com/link?url=SwmsOQH9eqcQrIgKNHF32lHIUoAFmJq2aQ2HSTEl_x2uVjaHDDzshJ6zHIJ_Mkth9ye4X-iq9H6KcWaUCm6qbBmS_dVGeHVNPb3Wv7RYhPI8WqCJXdIsBc5yyQdx58xy
debuging
external static library.

CMakeLists.txt

cmake_minimum_required(VERSION 3.13)
project(Ivr)

set(CMAKE_CXX_STANDARD 14 )
set(CMAKE_CXX_FLAGS "-lasound -g")

aux_source_directory(. SRC_LIST)

include(FindPkgConfig REQUIRED)

if(PKG_CONFIG_FOUND)
pkg_check_modules(PJSIP REQUIRED libpjproject)
else()
message(SEND_ERROR "PkgConfig not found")
endif()

include_directories(${PJSIP_INCLUDE_DIRS})
link_directories(${PJSIP_LIBRARY_DIRS})

add_executable(${PROJECT_NAME} ${SRC_LIST})

target_link_libraries(${PROJECT_NAME} ${PJSIP_LIBRARIES})

libpjproject.pc

Package Information for pkg-config

prefix=/usr/pjproject-2.8
exec_prefix=${prefix}
libdir=/usr/pjproject-2.8/lib
includedir=/usr/pjproject-2.8/include

Name: libpjproject
Description: Multimedia communication library
URL: http://www.pjsip.org
Version: 2.8
Libs: -L${libdir} -lpjsua2-x86_64-unknown-linux-gnu -lstdc++
-lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua-x86_64-unknown-linux-gnu
-lpjsip-simple-x86_64-unknown-linux-gnu -lpjsip-x86_64-unknown-linux-gnu
-lpjmedia-codec-x86_64-unknown-linux-gnu -lpjmedia-x86_64-unknown-linux-gnu
-lpjmedia-videodev-x86_64-unknown-linux-gnu
-lpjmedia-audiodev-x86_64-unknown-linux-gnu
-lpjmedia-x86_64-unknown-linux-gnu -lpjnath-x86_64-unknown-linux-gnu
-lpjlib-util-x86_64-unknown-linux-gnu  -lsrtp-x86_64-unknown-linux-gnu
-lresample-x86_64-unknown-linux-gnu -lg729codec-x86_64-unknown-linux-gnu
-lgsmcodec-x86_64-unknown-linux-gnu -lspeex-x86_64-unknown-linux-gnu
-lilbccodec-x86_64-unknown-linux-gnu -lg7221codec-x86_64-unknown-linux-gnu
-lyuv-x86_64-unknown-linux-gnu -lwebrtc-x86_64-unknown-linux-gnu
-lpj-x86_64-unknown-linux-gnu -lssl -lcrypto -lm -lrt -lpthread  -lasound
Cflags: -I${includedir} -O3 -DNDEBUG -I/usr/pjproject-2.8/include
-DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1

hi , i compiled pjsip 2.8 using this configure ./configure CXXFLAGS="-O3 -DNDEBUG" --prefix=/usr/pjproject-2.8 make dep & make make install i testd simpleua.c in CLion 2018.3.4, it can work, but it can't debug pjsip static library source code, i am new in gcc, unfamiliar with <http://www.baidu.com/link?url=SwmsOQH9eqcQrIgKNHF32lHIUoAFmJq2aQ2HSTEl_x2uVjaHDDzshJ6zHIJ_Mkth9ye4X-iq9H6KcWaUCm6qbBmS_dVGeHVNPb3Wv7RYhPI8WqCJXdIsBc5yyQdx58xy> debuging external static library. CMakeLists.txt cmake_minimum_required(VERSION 3.13) project(Ivr) set(CMAKE_CXX_STANDARD 14 ) set(CMAKE_CXX_FLAGS "-lasound -g") aux_source_directory(. SRC_LIST) include(FindPkgConfig REQUIRED) if(PKG_CONFIG_FOUND) pkg_check_modules(PJSIP REQUIRED libpjproject) else() message(SEND_ERROR "PkgConfig not found") endif() include_directories(${PJSIP_INCLUDE_DIRS}) link_directories(${PJSIP_LIBRARY_DIRS}) add_executable(${PROJECT_NAME} ${SRC_LIST}) target_link_libraries(${PROJECT_NAME} ${PJSIP_LIBRARIES}) libpjproject.pc # Package Information for pkg-config prefix=/usr/pjproject-2.8 exec_prefix=${prefix} libdir=/usr/pjproject-2.8/lib includedir=/usr/pjproject-2.8/include Name: libpjproject Description: Multimedia communication library URL: http://www.pjsip.org Version: 2.8 Libs: -L${libdir} -lpjsua2-x86_64-unknown-linux-gnu -lstdc++ -lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua-x86_64-unknown-linux-gnu -lpjsip-simple-x86_64-unknown-linux-gnu -lpjsip-x86_64-unknown-linux-gnu -lpjmedia-codec-x86_64-unknown-linux-gnu -lpjmedia-x86_64-unknown-linux-gnu -lpjmedia-videodev-x86_64-unknown-linux-gnu -lpjmedia-audiodev-x86_64-unknown-linux-gnu -lpjmedia-x86_64-unknown-linux-gnu -lpjnath-x86_64-unknown-linux-gnu -lpjlib-util-x86_64-unknown-linux-gnu -lsrtp-x86_64-unknown-linux-gnu -lresample-x86_64-unknown-linux-gnu -lg729codec-x86_64-unknown-linux-gnu -lgsmcodec-x86_64-unknown-linux-gnu -lspeex-x86_64-unknown-linux-gnu -lilbccodec-x86_64-unknown-linux-gnu -lg7221codec-x86_64-unknown-linux-gnu -lyuv-x86_64-unknown-linux-gnu -lwebrtc-x86_64-unknown-linux-gnu -lpj-x86_64-unknown-linux-gnu -lssl -lcrypto -lm -lrt -lpthread -lasound Cflags: -I${includedir} -O3 -DNDEBUG -I/usr/pjproject-2.8/include -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1