質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Clang

Clangは、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラである。

Q&A

0回答

562閲覧

clangエラー c++ error

_._._ami

総合スコア26

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Clang

Clangは、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラである。

0グッド

1クリップ

投稿2021/01/09 02:07

clang:error:linker command failed with exit code 1 (use -v to see invocation)
という風に表示されるのですが,調べたところライブラリが足りていない時のエラーだと書いてありました.これは容量不足ということでしょうか?

どのように対処すれば良いですか?
いらないファイルを削除したりゴミ箱を空にしたりしましたがダメでした.

OSはmacで,Visual Studio Codeを使って書いていて,ターミナルでclang++ -std=c++11 newton.cppで実行しています.

一応コードも貼っておきます.

c++

1#include<stdio.h> 2#include<math.h> 3#include<stdlib.h> 4 5#define EPS pow(10.0,-8.0) //epsilonの設定 6#define KMAX 100 //最大反復回数 7#define N 4 //4元方程式 8 9double **dmatrix(int nr1,int nr2,int nl1,int nl2); 10void free_dmatrix(double **a,int nr1,int nr2,int nl1,int nl2); 11double *dvector(int i,int j); 12void free_dvector(double *a,int i); 13double *gauss(double **a,double *b); 14double vector_norm1(double *a,int m,int n); 15 16double f(double x,double y,double z,double u); //1行目の式をfとおいた.2行目以降も同様. 17double g(double x,double y,double z,double u); 18double h(double x,double y,double z,double u); 19double i(double x,double y,double z,double u); 20 21double f_x(double x,double y,double z,double u); //fをxで偏微分した式をf_xとおいた.以下同様. 22double f_y(double x,double y,double z,double u); 23double f_z(double x,double y,double z,double u); 24double f_u(double x,double y,double z,double u); 25 26double g_x(double x,double y,double z,double u); 27double g_y(double x,double y,double z,double u); 28double g_z(double x,double y,double z,double u); 29double g_u(double x,double y,double z,double u); 30 31double h_x(double x,double y,double z,double u); 32double h_y(double x,double y,double z,double u); 33double h_z(double x,double y,double z,double u); 34double h_u(double x,double y,double z,double u); 35 36double i_x(double x,double y,double z,double u); 37double i_y(double x,double y,double z,double u); 38double i_z(double x,double y,double z,double u); 39double i_u(double x,double y,double z,double u); 40 41void newton2(double x,double y,double z,double u); 42 43int main(void){ 44 double x,y,z,u; 45 printf("初期値を入力してください-->x0,y0,z0,u0\n"); 46 scanf("%lf %lf %lf %lf",&x,&y,&z,&u); 47 newton2(x,y,z,u); 48 return 0; 49} 50 51void newton2(double x,double y,double z,double u){ 52 int j,k=0; 53 double *xk,*d,**J; 54 55 d = dvector(1,N); 56 xk = dvector(1,N); 57 J = dmatrix(1,N,1,N); //N*Nのヤコビ行列 58 59 xk[1]=x; xk[2]=y; xk[3]=z; xk[4]=u; 60 61 do{ 62 d[1] = -f(xk[1],xk[2],xk[3],xk[4]); 63 d[2] = -g(xk[1],xk[2],xk[3],xk[4]); 64 d[3] = -h(xk[1],xk[2],xk[3],xk[4]); 65 d[4] = -i(xk[1],xk[2],xk[3],xk[4]); 66 67 J[1][1] = f_x(xk[1],xk[2],xk[3],xk[4]); 68 J[1][2] = f_y(xk[1],xk[2],xk[3],xk[4]); 69 J[1][3] = f_z(xk[1],xk[2],xk[3],xk[4]); 70 J[1][4] = f_u(xk[1],xk[2],xk[3],xk[4]); 71 72 J[2][1] = g_x(xk[1],xk[2],xk[3],xk[4]); 73 J[2][2] = g_y(xk[1],xk[2],xk[3],xk[4]); 74 J[2][3] = g_z(xk[1],xk[2],xk[3],xk[4]); 75 J[2][4] = g_u(xk[1],xk[2],xk[3],xk[4]); 76 77 J[3][1] = h_x(xk[1],xk[2],xk[3],xk[4]); 78 J[3][2] = h_y(xk[1],xk[2],xk[3],xk[4]); 79 J[3][3] = h_z(xk[1],xk[2],xk[3],xk[4]); 80 J[3][4] = h_u(xk[1],xk[2],xk[3],xk[4]); 81 82 J[4][1] = i_x(xk[1],xk[2],xk[3],xk[4]); 83 J[4][2] = i_y(xk[1],xk[2],xk[3],xk[4]); 84 J[4][3] = i_z(xk[1],xk[2],xk[3],xk[4]); 85 J[4][4] = i_u(xk[1],xk[2],xk[3],xk[4]); 86 87 d = gauss(J,d); 88 for(j=1;j<=N;j++) xk[j] += d[j]; 89 k++; 90 }while(vector_norm1(d,1,N)>EPS && k<KMAX); 91 92 if(k==KMAX){ 93 printf("答えが見つかりませんでした\n"); 94 }else{ 95 printf("答えは x=%f, y=%f, z=%f, u=%f です\n",xk[1],xk[2],xk[3],xk[4]); 96 } 97 98 free_dmatrix(J,1,N,1,N); 99 free_dvector(d,1); 100 free_dvector(xk,1); 101} 102 103double f(double x,double y,double z,double u) 104{ 105 return(x*x*x + 2*y*y + z*z - 2*u*u - z + 2); 106} 107double g(double x,double y,double z,double u) 108{ 109 return(y*y - x*y - 2*x*z - 5); 110} 111double h(double x,double y,double z,double u) 112{ 113 return(3*x*y*z + 2*y*u - u + 3); 114} 115double i(double x,double y,double z,double u) 116{ 117 return(y*y*z - x*x + 2*y*z - x - 2*z - u); 118} 119 120double f_x(double x,double y,double z,double u) 121{ 122 return(3*x*x); 123} 124double f_y(double x,double y,double z,double u) 125{ 126 return(4*y); 127} 128double f_z(double x,double y,double z,double u) 129{ 130 return(2*z - 1); 131} 132double f_u(double x,double y,double z,double u) 133{ 134 return(-4*u); 135} 136 137double g_x(double x,double y,double z,double u) 138{ 139 return(-y-2*z); 140} 141double g_y(double x,double y,double z,double u) 142{ 143 return(2*y-x); 144} 145double g_z(double x,double y,double z,double u) 146{ 147 return(-2*x); 148} 149double g_u(double x,double y,double z,double u) 150{ 151 return 0; 152} 153 154double h_x(double x,double y,double z,double u) 155{ 156 return(3*y*z); 157} 158double h_y(double x,double y,double z,double u) 159{ 160 return(3*x*z + 2*u); 161} 162double h_z(double x,double y,double z,double u) 163{ 164 return(3*x*y); 165} 166double h_u(double x,double y,double z,double u) 167{ 168 return(2*y - 1); 169} 170 171double i_x(double x,double y,double z,double u) 172{ 173 return(-2*x-x); 174} 175double i_y(double x,double y,double z,double u) 176{ 177 return(2*z*y + 2*z); 178} 179double i_z(double x,double y,double z,double u) 180{ 181 return(y*y + 2*y -2); 182} 183double i_u(double x,double y,double z,double u) 184{ 185 return -1; 186}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/01/09 02:12

エラーメッセージはいらぬ省略翻訳しないでそのまま提示しましょう 必要な情報隠されては答えようがないです
hoshi-takanori

2021/01/09 02:19

↓ これらの関数が宣言だけされてて定義がないからでは。 double **dmatrix(int nr1,int nr2,int nl1,int nl2); void free_dmatrix(double **a,int nr1,int nr2,int nl1,int nl2); double *dvector(int i,int j); void free_dvector(double *a,int i); double *gauss(double **a,double *b); double vector_norm1(double *a,int m,int n);
episteme

2021/01/09 02:23

clang++ -std=c++11 newton.cpp したってんならその↑とおりでしょね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問