C++ Cmake在gtest编译期间出错-gtest/internal/gtest type util.h:732:25:错误:应为类型说明符

C++ Cmake在gtest编译期间出错-gtest/internal/gtest type util.h:732:25:错误:应为类型说明符,c++,cmake,googletest,C++,Cmake,Googletest,我在尝试使用cmake构建项目时遇到错误。 我手动下载并在我的电脑上安装gtest(即gtest头文件在/usr/include中提供)和libs,如gtest、gtest_main在/usr/lib中) 下面是我的项目主要功能代码。(lte_softmodem_test.cpp) 但是,当我试图在我的项目CMake文件中包含此内容时,它向我显示了一个错误 CMake文件:(CMake文件有点大,所以我只包括了几行我试图编译这个文件的地方) 在编译文件lte\u softmodem\u test

我在尝试使用cmake构建项目时遇到错误。
我手动下载并在我的电脑上安装gtest(即gtest头文件在/usr/include中提供)和libs,如gtest、gtest_main在/usr/lib中)

下面是我的项目主要功能代码。(lte_softmodem_test.cpp)

但是,当我试图在我的项目CMake文件中包含此内容时,它向我显示了一个错误

CMake文件:(CMake文件有点大,所以我只包括了几行我试图编译这个文件的地方) 在编译文件lte\u softmodem\u test.cpp:

/usr/bin/c++-DASN1\u最小版本=924 -DCMAKE\u BUILD\u TYPE=“RelWithDebInfo”-ddriver 2013-可更改的ITTI-可更改的NAS\u UE\u日志-可更改的使用\u CPU\u执行\u时间-可更改的\u使用\u MME-可更改的\u VCD-DENB\u模式-DEXMIMO\u IOT-DF1AP发布=R15-DF1AP版本=3873-DFIRMWARE\u版本=“无svn信息”-DFLPT\u版本=V2-DFPT\V2-DJUMBO帧 -该网站的发布版本为R14-DM3AP发布版本=R14-DM3发布版本=R14-DM3发布版本=R14-DM3发布版本=R14-DM3发布版本=R14-DM3-DM3发布版本=R14-DM3-DM3发布版本=R14-DM3-DM3-DM3-DM3-DMX版本=3584-DMAX-DMAX-NuU-UU版本=3584-DMAX-DMAX-U8-C8-C8-C8-C8-C8-C8-C8-C8-8 8 8-8-8-8-8-8-8 8 8 8-8-8-8 8-8-8-8-8-8-8-8 8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8--DPACKAGE_BUGREPORT=“openair4g-devel@lists.eurecom.fr“-DPACKAGE_NAME=”“-DPACKAGE_VERSION=”“分支机构:master Abrev。哈希:9a06ceb日期:周三9月9日16:15:50 2020+0200“-DPHYSIM-DPHYU上下文 -DRel14=1-DS1AP_RELEASE=R14-DS1AP_VERSION=3664-DTRACE_RLC_MUTEX-DT_TRACER-DX2AP_RELEASE=R14-DX2AP_VERSION=3680-I/root/openairinterface5g/cmake_targets/lte_build_oai/build/CMakeFiles/RRC_Rel14 -I/root/openairinterface5g/cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_R14 -I/root/openairinterface5g/openair3/S1AP-I/root/openairinterface5g/cmake_目标/lte_构建_oai/build/CMakeFiles/M2AP_R14 -I/root/openairinterface5g/openair2/M2AP-I/root/openairinterface5g/cmake_目标/lte_构建_oai/build/CMakeFiles/M3AP_R14 -I/root/openairinterface5g/openair3/M3AP-I/root/openairinterface5g/cmake_目标/lte_构建_oai/build/CMakeFiles/X2AP_R14 -I/root/openairinterface5g/openair2/X2AP-I/root/openairinterface5g/cmake_目标/lte_构建_oai/build/CMakeFiles/F1AP_R15.2.1 -I/root/openairinterface5g/openair2/F1AP-I/root/openairinterface5g/targets/ARCH/USRP/USERSPACE/LIB-I/root/openairinterface5g/targets/ARCH/BLADERF/USERSPACE/LIB-I/root/openairinterface5g/targets/ARCH/LMSSDR/USERSPACE/LIB-I/root/openairinterface5g/targets/ETHERNET/USERSPACE/LIB-I/root/openairinterface5g/targets/irs/IRIS/USERSPACE/LIB-I/root/openairinterface5g/targets/ARCH/COMMON-I/root/openairinterface5g/cmake_targets/lte_build_oai/build/CMakeFiles -I/root/openairinterface5g/openair2/COMMON-I/root/openairinterface5g/openair2/UTIL/LOG-I/root/openairinterface5g/openair3/COMMON-I/root/openairinterface5g/openair3/UTILS-I/root/openairinterface5g/nfapi/nfapi/public\u inc-I/root/openairinterface5g/nfapi/nfapi/nfapi/open-nfapi/public\u inc-I/root/openairinterface5g/nfapi/open nfapi/pnf/public_inc-I/root/openairinterface5g/nfapi/inc-I/root/openairinterface5g/nfapi/open nfapi/sim_common/inc-I/root/openairinterface5g/nfapi/open nfapi/pnf_sim/inc-I/root/openairinterface5g/openair1-I/root/openairinterface5g/openair2-I/root/openairinterface5g/openair3/NAS/TOOLS-I/root/openairinterface5g/openair2/ENB_应用程序-I/root/openairinterface5g/openair2/MCE_应用程序-I/root/openairinterface5g/openair2/LAYER2/RLC-I/root/openairinterface5g/openair2/LAYER2/RLC/LAYER2/RLC/RLC/UM_v9.3.0-I/root/openairinterface5g/openair2/RLC/RLC/TM v9.3.0-I/root/openairinterface5g/openair2/LAYER2/PDCP_v10.1.0-I/root/openairinterface5g/openair2/RRC/LTE/MESSAGES-I/root/openairinterface5g/openair2/RRC/LTE-I/root/openairinterface5g/common/utils/ocp_itti-I/root/openairinterface5g/openair3/NAS/common-I/root/openairinterface5g/NAS/common/API/NETWORK-I/root/openairinterface5g/openair3/NAS/COMMON/EMM/MSG-I/root/openairinterface5g/openair3/NAS/COMMON/ESM/MSG-I/root/openairinterface5g/openair3/NAS/UE/EMM-I/root/openairinterface5g/openair3/NAS/UE/API/USER-I/root/openairinterface5g/openair3/NAS/COMMON/IES-I/root/openairinterface5g/openair3/NAS/COMMON/UTIL-I/root/openairinterface5g/openair3/SECU-I/root/openairinterface5g/openair3/SCTP-I/root/openairinterface5g/UDP-I/root/openairinterface5g/openairinterface5g/GTPV1-U-I/root/openairinterface5g/openair3/MME\U APP-I/root/openairinterface5g/targets/COMMON-I/root/openairinterface5g/openair2/ENB\u应用程序/控制模块/PHY-I/root/openairinterface5g/openair2/ENB\u应用程序/控制模块/MAC-I/root/openairinterface5g/openair2/ENB\u应用程序/控制模块/PDCP-I/root/openairinterface5g/openair2/UTIL/OSA-I/root/openairinterface5g/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc -I/root/openairinterface5g/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc -I/root/openairinterface5g/openair2/LAYER2/PROTO_AGENT-I/root/openairinterface5g/openair2/UTIL/MEM-I/root/openairinterface5g/openair2/UTIL/UTIL/List-I/root/openairinterface5g/openair2/UTIL/OCG-I/root/openairinterface5g/openair2/UTIL/MATH-I/root/openairinterface5g/openair2/UTIL/TIMER-I/root/openairinterface5g/openair2/UTIL/OMG-I/root/openairinterface5g/openair2/UTIL/OTG-I/root/openairinterface5g/openair2/UTIL/CLI-I/root/OpenAirE5g/UTIL/openairinterface5g/openair2/UTIL/OMV-I/root/openairinterface5g/openair3/GTPV1-U/nw-gtpv1u/shared-I/root/OpenAirE5g/openair3/GT1-U-I/root/openairinterface5g-I/root/openairinterface5g/cmake_目标/lte_构建
#include <gtest/gtest.h>
#include <iostream>

using namespace std;

TEST(sample, sample2){

}


int main(int argc, char **argv)
{
    cout << "This is test" << endl;
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
 return 0;
}
g++ eNB_scheduler_test.cpp -L /usr/lib/ -lgtest -lgtest_main -pthread -std=c++11
# lte-softmodem is both eNB and UE implementation
###################################################

add_executable(lte-softmodem
  ${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c
  ${OPENAIR_TARGETS}/RT/USER/lte-enb.c
  ${OPENAIR_TARGETS}/RT/USER/lte-ru.c
  ${OPENAIR_TARGETS}/RT/USER/ru_control.c
  ${OPENAIR_TARGETS}/RT/USER/lte-softmodem.c 
  ${OPENAIR_TARGETS}/RT/USER/lte-softmodem_test.cpp
  ${OPENAIR_TARGETS}/RT/USER/lte-softmodem-common.c
  ${OPENAIR2_DIR}/ENB_APP/NB_IoT_interface.c
  ${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c
  ${OPENAIR_TARGETS}/COMMON/create_tasks.c
  ${OPENAIR_TARGETS}/COMMON/create_tasks_mbms.c
  ${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c
  ${OPENAIR2_DIR}/RRC/NAS/nas_config.c
  ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
  ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
  ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
  ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c
  ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
  ${OPENAIR_DIR}/common/utils/utils.c
  ${OPENAIR_DIR}/common/utils/system.c
  ${GTPU_need_ITTI}
  ${XFORMSINTERFACE_SOURCE}
  ${T_SOURCE}
  ${CONFIG_SOURCES}
  ${SHLIB_LOADER_SOURCES}

add_dependencies(lte-softmodem rrc_flag s1ap_flag x2_flag)



target_link_libraries (lte-softmodem
  -Wl,--start-group
  RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB PHY_COMMON PHY PHY_RU LFDS L2
  ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB} LFDS7
  NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
  -Wl,--end-group z dl gtest gtest-main -lpthread)
<command-line>:0:6: error: expected identifier before numeric constant
<command-line>:0:6: error: expected unqualified-id before numeric constant
<command-line>:0:6: error: expected type-specifier before numeric constant
<command-line>:0:6: error: expected type-specifier before numeric constant
In file included from /usr/local/include/gtest/gtest.h:62:0,
                 from /root/openairinterface5g/targets/RT/USER/lte-softmodem_test.cpp:2:
/usr/local/include/gtest/internal/gtest-internal.h:690:39: error: variable or field ‘GenerateNamesRecursively’ declared void
 void GenerateNamesRecursively(internal::None, std::vector<std::string>*, int) {}
                                       ^
<command-line>:0:6: error: expected unqualified-id before numeric constant
In file included from /usr/local/include/gtest/gtest.h:62:0,
                 from /root/openairinterface5g/targets/RT/USER/lte-softmodem_test.cpp:2:
/usr/local/include/gtest/internal/gtest-internal.h:690:71: error: expected primary-expression before ‘*’ token
 void GenerateNamesRecursively(internal::None, std::vector<std::string>*, int) {}
                                                                       ^
/usr/local/include/gtest/internal/gtest-internal.h:690:72: error: expected primary-expression before ‘,’ token
 void GenerateNamesRecursively(internal::None, std::vector<std::string>*, int) {}
                                                                        ^
/usr/local/include/gtest/internal/gtest-internal.h:690:74: error: expected primary-expression before ‘int’
 void GenerateNamesRecursively(internal::None, std::vector<std::string>*, int) {}
                                                                          ^
/usr/local/include/gtest/internal/gtest-internal.h:757:61: error: template argument 3 is invalid
 class TypeParameterizedTest<Fixture, TestSel, internal::None> {
                                                             ^
/usr/local/include/gtest/internal/gtest-internal.h:815:64: error: wrong number of template arguments (2, should be 3)
 class TypeParameterizedTestSuite<Fixture, internal::None, Types> {
                                                                ^
/usr/local/include/gtest/internal/gtest-internal.h:778:7: note: provided for ‘template<template<class T> class Fixture, class Tests, class Types> class testing::internal::TypeParameterizedTestSuite’
 class TypeParameterizedTestSuite {
    # To prevent overriding the parent project's compiler/linker settings on Windows.
    if(WIN32)
        set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
    endif()

    FetchContent_Declare(
            googletest
            GIT_REPOSITORY https://github.com/google/googletest.git
            GIT_TAG        master
            SOURCE_DIR        "${GOOGLETEST_DOWNLOAD_DIR}/src" # choose preferred directory
            BINARY_DIR        "${GOOGLETEST_DOWNLOAD_DIR}/bin"
    )

    FetchContent_MakeAvailable(googletest)
   #gtest and gtest-main will be available here