2017-06-22 11 views
2

Visual Studio 2017がインストールされました。NTLライブラリを使用します。私はここに記載されている手順に従っています(VS2013用)。 Compiling NTL library in Visual Studio 2013Visual StudioでNTLライブラリを構成する方法2017

期待どおり、コンパイルされます(いくつか、私は無視してよい警告があります)。

その後、同じ溶液の下で、私はこれらの連続工程をしています: (同じ溶液下)

  1. プロジェクトの追加 - >新規プロジェクト - > [Visual C++を - > Win32コンソールAPPL。右作成したプロジェクトをクリックしてください>スタートアッププロジェクトに設定し
  2. - -
  3. 右作成したプロジェクトをクリックしてください
  4. >追加 - >リファレンス - >構成プロパティ - - > C> NTL
  5. は右作成したプロジェクトをクリックしてください/ C++ - >一般 - >追加のディレクトリインクルード - >(NTLが含まれる)(NTL リポジトリからダウンロード)
  6. フォルダからいくつかのファイルをコピー/テイク "テスト"
  7. がする#include以下のすべてを削除 "stdafx.hを"
  8. ペーストおよびビルド

これらの手順は、残念ながら、私は4つのリンカ関連のエラー(LNK2019)を得たビルドする際に、VS2013 & VS2015で動作するはずです。

彼らはすべて以下の例に似ています:?

エラーLNK2019未解決の外部シンボル "無効__cdecl NTL :: MatPrime_crt_helper_deleter(クラスNTL :: MatPrime_crt_helper *)" (MatPrime_crt_helper_deleter @ NTL @@ YAXPAVMatPrime_crt_helper @ 1 @@ Z) 機能で参照 "のパブリック:静的な無効__cdecl NTL :: ZZ_pInfoT :: MatPrime_crt_helper_deleter_policy ::デリータ(クラス NTL :: MatPrime_crt_helper *)"?MatPrime_crt_helper_deleter_policy @ ZZ_pInfoT @ NTL @@ SAXPAVMatPrime_crt_helper @ (デリータ3 @@Z)NTLtest < thePathToTheLib> (ZZ_p.obj)1

あなたはどのように進めるためにアドバイスすることはできますか?私が構築され、これにしようとしている

- >ZZ_pEXTest.cpp

は、事前にありがとうございます!

+0

私はこの問題もVS2015にも出てきました。あなたは解決策を見つけましたか? –

答えて

1

まず、私はと同じを取得すると仮定しています。あなたの質問にあなたが示したものと、さらに3つを得る。いずれの場合も、コードに実際に存在するメソッドまたは関数の前方宣言が含まれます。

しかし、宣言の型はクラスであり、実装の型は構造体です。したがって、関数のシグネチャは同じではなく、リンカは実装を見つけることができません。

したがって、パラメータ型の前方宣言を単純にstructsとして更新しました。

lip.hでは、_ntl_general_rem_one_structstructに変更します。 ZZ_p.hでは、MatPrime_crt_helperstructに変更します。

私はこれがすべて私がしたと信じています。

コードを変更する必要はありません。コンパイラスイッチがあるか、VSでのみ失敗します。知りません。私が知っていることは、それは誰よりも私よりずっと賢く書かれていて、人生は短すぎます。私は自分の変更を加え、私は動き続けています。

関連する問題