2016-09-02 2 views
1

MavenでGoogleテストを試してみようとしています。だから、私はこのlinkを使ってインストールしました。次に、テスト用にdummyTest.cppを作成し、pom.xmlに追加してテストを実行しました。 -MavenのnarビルドでのGoogleTestのコンパイルエラー - testing :: internal :: MakeAndRegisterTestInfoへの未定義の参照

// 
//  File: dummyTest.cpp 
// 
#include "gtest/gtest.h" 
TEST(dummyTest, AlwaysTrueTest) { 
    EXPECT_EQ(1, 1); 
} 

// 
//  File: pom.xml 
// 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.coe</groupId> 
<artifactId>testlibrary</artifactId> 
<packaging>nar</packaging> 
<version>1.0-SNAPSHOT</version> 

<properties> 
    <skipTests>false</skipTests> 
    <skipDeploy>false</skipDeploy> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

<build> 
    <defaultGoal>install</defaultGoal> 
    <plugins>   
     <plugin> 
      <groupId>com.github.maven-nar</groupId> 
      <artifactId>nar-maven-plugin</artifactId> 
      <version>3.2.3</version> 
      <extensions>true</extensions> 
      <configuration> 
       <layout>NarLayout20</layout> 
       <libraries> 
        <library> 
         <type>executable</type> 
         <run>true</run> 
        </library> 
       </libraries> 
       <linker> 
        <name>g++</name> 
        <sysLibs> 
         <sysLib> 
          <name>pthread</name> 
         </sysLib> 
        </sysLibs> 
        <libs> 
          <lib> 
          <name>gtest</name> 
          <type>shared</type> 
          <directory>/usr/lib/</directory> 
          </lib> 
          <lib> 
          <name>gtest_main</name> 
          <type>shared</type> 
          <directory>/usr/lib/</directory> 
          </lib> 
        </libs> 
       </linker> 
       <tests> 
        <test> 
         <name>dummyTest</name> 
         <link>shared</link> 
        </test> 
       </tests> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

enter image description here

それを次のように

[INFO] 1 total files to be compiled. 
[INFO] 1 total files to be compiled. 
[INFO] Found 1 processors available 
[INFO] Found 1 processors available 
[INFO] 
Starting Core 0 with 1 source files... 
[INFO] 
Starting Core 0 with 1 source files... 
[INFO] Linking... 
[INFO] Linking... 
[INFO] Starting link {4.8.3 -L/usr/lib -Bdynamic -lgtest -L/usr/lib -Bdynamic -lgtest_main -Bdynamic -lpthread -fexceptions -lstdc++} 
[INFO] Starting link {4.8.3 -L/usr/lib -Bdynamic -lgtest -L/usr/lib -Bdynamic -lgtest_main -Bdynamic -lpthread -fexceptions -lstdc++} 
[ERROR] /usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread 
[ERROR] /usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread 
[ERROR] /usr/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm 
[ERROR] /usr/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm 
[ERROR] /usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc 
[ERROR] /usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc 
[ERROR] /home/sshakya/MavenC/Recent_Backup/COE/testlibrary/target/test-nar/obj/amd64-Linux-gpp/dummyTest.o: In function `__static_initialization_and_destruction_0(int, int)': 
[ERROR] dummyTest.cpp:(.text+0x1f2): undefined reference to `testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' 
[ERROR] collect2: error: ld returned 1 exit status 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 

dummyTest.cpppom fileと私が使用していますproject structureがある - 私はmvn clean installを行う一方で、私は次のエラーを取得しています私は他のブログの投稿やstackoverflowから正しい方法でそれをやっているようだQ & Aしかし、私はこの問題の原因を突き止めることができませんでした。正しい方向への助けやヒントは高く評価されます。ありがとう

答えて

0

検索パスにあるgtestの矛盾しているバージョンを確認してください:あなたがリンクしているライブラリlibgtest {、_ main}のためにコンパイル時に同じgtest.hが含まれていますか?

関連する問題