Перейти к контенту
What I’ve already done:
I’ve looked through other StackOverflow threads with similar issues, but none of them seem to apply to my specific case. I’ve also double checked to makes sure that the correct files are in the correct locations (folders) and that everything is named properly as well.
This is the error I’m receiving:
[employee_xyz@petco.com]$ make
g++ -Wall -O2 -ansi -pedantic -o dog.cpp
g++: fatal error: no input files
compilation terminated.
make: *** [mscp.o] Error 4
Here’s the makefile in question:
CC = g++
CFLAGS = -Wall -O2 -ansi -pedantic -Werror
TARGETS = dog dog.o collar.o
dog: dog.o collar.o
$(CC) $(CFLAGS) -o dog collar.o dog.o
dog.o: dog.cpp collar.h
$(CC) $(CFLAGS) -o dog.cpp
collar.o: collar.cpp collar.h
$(CC) $(CFLAGS) -o collar.cpp
clean:
-rm -f ${TARGETS}
Here are the files (they’re all in the same directory) that are being referenced by the makefile:
-collar.cpp
-collar.h
-makefile
-dog.cpp
What am I doing wrong?
What I’ve already done:
I’ve looked through other StackOverflow threads with similar issues, but none of them seem to apply to my specific case. I’ve also double checked to makes sure that the correct files are in the correct locations (folders) and that everything is named properly as well.
This is the error I’m receiving:
[employee_xyz@petco.com]$ make
g++ -Wall -O2 -ansi -pedantic -o dog.cpp
g++: fatal error: no input files
compilation terminated.
make: *** [mscp.o] Error 4
Here’s the makefile in question:
CC = g++
CFLAGS = -Wall -O2 -ansi -pedantic -Werror
TARGETS = dog dog.o collar.o
dog: dog.o collar.o
$(CC) $(CFLAGS) -o dog collar.o dog.o
dog.o: dog.cpp collar.h
$(CC) $(CFLAGS) -o dog.cpp
collar.o: collar.cpp collar.h
$(CC) $(CFLAGS) -o collar.cpp
clean:
-rm -f ${TARGETS}
Here are the files (they’re all in the same directory) that are being referenced by the makefile:
-collar.cpp
-collar.h
-makefile
-dog.cpp
What am I doing wrong?
- Печать
Страницы: [1] 2 3 … 5 Все Вниз
Тема: Программирование на С++ (Прочитано 6661 раз)
0 Пользователей и 1 Гость просматривают эту тему.
gerk787
Доброго времени суток!
Нашел лекций по с++ вот ссылка:
http://www.youtube.com/watch?v=atVgLRzl3rI&feature=relmfu
Дело в том что он объясняет, вроде все понятно но и не совсем.
Начну с расширения файла .c — это как говорят расширения язык Си, а для С++ надо использовать расширение .cpp, это одно.
Во вторых пытаюсь скомпилировать программу пишет:
gcc: ошибка: main.c: Нет такого файла или каталога
Указываю полный путь:
gcc: фатальная ошибка: не заданы входные файлы
компиляция прервана.
encoder@Encoder-RV518:~$ gcc /home/encoder/Documents/c/main.c
encoder@Encoder-RV518:~$
И ничего не появляться в папе с файлом main.c. Что я делаю не так?
Причем в программе Double Commander почему-то 2 файла, ScreenShot ниже:
В третьих пишу другую программу уже в Geany и мне выдают ошибку, ниже ScreenShot на фоне доска откуда я списал код точно как у него, терминал открыл после компиляций.
Повторю вопросы:
1 — Верное ли расширение файла .с
2 — Почему не компилируется?
3 — что за ошибка и как её исправить?
4 — Стоит ли учить С++ по этим лекциям? Программа обучения соответственна с современными стандартами языка?
Заранее благодарю.
Lifewalker
Для начала вам нужно разобраться, что такое каталоги, файлы и как они работают. Изучить способы взаимодействия программ и передачи им параметров. Понять, что есть текущий каталог и пр.
После этого можно начать изучить программирование. Начните с чего-нибудь более цельного, внятного и простого, чем Си. Например, с Паскаля или Модулы.
Курс лекций занятный И да, расширение .с верное.
mastepaner
gerk787
Для начала вам нужно разобраться, что такое каталоги, файлы и как они работают. Изучить способы взаимодействия программ и передачи им параметров. Понять, что есть текущий каталог и пр.
После этого можно начать изучить программирование. Начните с чего-нибудь более цельного, внятного и простого, чем Си. Например, с Паскаля или Модулы.
Курс лекций занятный И да, расширение .с верное.
Если он все верно объясняет то почему не работает?
А насчет каталогов я вроде знаю, это на сколько мне известно те же папки, как прописывать пути тоже знаю.
Lifewalker
Если он все верно объясняет то почему не работает?
Потому что вы не правильно понимаете.
Компилятор пишет ошибку «нет файла». Сделайте так, чтобы копилятор находил файл. Для этого разберитесь что такое каталоги, текущий каталог, как передаются параметры и т.д.
gerk787
Если он все верно объясняет то почему не работает?
Потому что вы не правильно понимаете.
Компилятор пишет ошибку «нет файла». Сделайте так, чтобы копилятор находил файл. Для этого разберитесь что такое каталоги, текущий каталог, как передаются параметры и т.д.
Может поделитесь ссылка на хорошие материалы? Буду благодарен.
Lifewalker
Может поделитесь ссылка на хорошие материалы? Буду благодарен.
Почитайте под моим аватаром список осей, с которыми я работал. Неужели вы думаете, что я знаю современные книги по этим элементарным вещам? Поищите в интернете, думаю статей и инструкций навалом.
gerk787
Может поделитесь ссылка на хорошие материалы? Буду благодарен.
Почитайте под моим аватаром список осей, с которыми я работал. Неужели вы думаете, что я знаю современные книги по этим элементарным вещам? Поищите в интернете, думаю статей и инструкций навалом.
Хорошо, только к вам будет такая просьба: Вы можете исправить ошибки которые я допусти?
Покажи что написать что запустить компилятор?
Файл main.c находиться по адресу:
/home/encoder/Documents/c/main.c
Пишу вот так:
cd /home/encoder/Documents/c
Как теперь скомпилировать?
Пользователь решил продолжить мысль 07 Октября 2012, 17:27:55:
Уже разобрался как компилировать но при компиляций выдает ошибку как исправить?
encoder@Encoder-RV518:~/Documents/c$ gcc main.c hello.c -o main
hello.c: В функции «hello»:
hello.c:2:2: предупреждение: несовместимая неявная декларация внутренней функции «printf» [по умолчанию включена]
Файл main.c
int main () {
hello();
return 0;
}
Файл hello.c
void hello (){
printf ("Hello!");
}
« Последнее редактирование: 07 Октября 2012, 17:27:55 от gerk787 »
Lifewalker
Ой… Простите за прямоту, но вам нужно начинать с самых (то есть вобще с самых-самых) азов. Говорил же, начитните с паскаля. Нет, мы же круче всех, нам сразу подавай Си, да ещё с раздельной компиляцией, не разобравшись в заголовках и прочем… Конечно, ведь Си — это кулхакерно, на Си пишут гуру, Си — это крутотенюшка, куда там простачкам, строчащим на Делфях поганых и 1С-ках убогих
Правильно писать так:
// Первая мегапрога на Си
// Автор - я
#include <stdio.h>
int main(void)
{
printf ("Hello, everybody!n");
return (0);
}
Помпилируется и запускается без ошибок.
gerk787
NetFly
вот еще 1 вариант:
// программа higerk787
для компиляции введи:
#include <iostream>
using namespace std;
int main()
{
cout<<"hi gerk787n";
return 0;
}
#c++ higerk787.cpp -o higerk787
Сам, только начал, сделал выводы с принтф и с каут.
« Последнее редактирование: 08 Октября 2012, 03:36:28 от NetFly »
Lifewalker
Не мутите воду, пожалуйста. Чел взялся за Си, а не за Си++. Вывод в Си++ делается мягко говоря иначе, чем в Си. Да и в вашей голове каша та ещё. Зачем вы мешаете серое с мягким? Ваша программа идеологически правильно должна выглядеть так.
// программа higerk787
#include <iostream>
// сомнительное решение, хотя и формально правильное для учебников 15-летней давности
// сам так делал, пока по башке не стукнули более опытные товарищи
using namespace std;
int main(void)
{
cout << "Hi, gerk787" << endl;
// вообще-то совсем уж корректно будет чуть иначе, если закомментировать
// строку using namespace в начале текста программы
// std::cout << "Hi, gerk787" << std::endl;
return 0;
}
Как говорится, найдите два отличия.
« Последнее редактирование: 08 Октября 2012, 15:39:15 от Lifewalker »
NetFly
окей, это интересно, т.е. в этом случае можно не обозначать пространство имен!!!
Примерно по такому учебнику я и обучаюсь. Если знаете какие нить современные хорошие варианты учебников- в студию.
Буду признателен!
Пользователь решил продолжить мысль 08 Октября 2012, 18:17:14:
Спасибо за подсказку.
« Последнее редактирование: 08 Октября 2012, 18:18:32 от NetFly »
Шинш
Lifewalker,
а для чего в главную функцию передавать void ?
gerk787
Не мутите воду, пожалуйста. Чел взялся за Си, а не за Си++. Вывод в Си++ делается мягко говоря иначе, чем в Си. Да и в вашей голове каша та ещё. Зачем вы мешаете серое с мягким? Ваша программа идеологически правильно должна выглядеть так.
Там вроде как учат С++, но почему-то объясняют Си.
- Печать
Страницы: [1] 2 3 … 5 Все Вверх
I’m having some trouble with my first bigger makefile project.
I got a bigger Library i’m using in my c++ project. More accurate: In my .cpp files and .h files I need to include some headers out of this bigger library.
Here’s my structure, to let you know how I’m using the library in my project:
myproj
|
|____Makefile
|____main.cpp
|____init.cpp
|____end.cpp
|____init.h
|____end.h
|____Dependencies
|____biggerlib
|____bin
|____...
|____include
|____#more directories including
#the Library headers
|____...
|____src
|____biggerLib1
|____biggerLib2
|____biggerLibrary.cpp
|____...
|____Lib2.cpp
|____...
|____Lib3.cpp
|____...
|____Util
|____DebugOut.cpp
|____Dev
|____Data
|____etc.
|____makestuff
|____...
|____...
|____...
|____...
|____codestuff
|____...
|____...
|____...
|____...
|____etc.
I’m not allowed to change that structure.
So, my problem is, that if I start make, gcc or g++ does not find my input files.
Error code:
g++: fatal error: no input files
compilation terminated.
*makefileName*:21: recipe for target '*Name*' failed
make: *** [*Name*] Error 1
Therefore, here some out of my makefile:
At first my OBJECTS file:
OBJECTS +=
$(BUILD)main.o
$(BUILD)init.o
$(BUILD)end.o
Then my makefile:
#Name (output name / project name)
NAME = proj
#Compiler directory
CC = gcc
CPP = g++
#Libray directorys
SDCC = /home/myname/myproj/Dependencies/biggerlib/src/biggerLib2/Util
# the headers are working well since yesterday but now i got the trouble with the input stuff...
#C-Flags for object-compiling
CFLAGS = -O2 -g3 -c -I$(SDCHDR) -I$(SDCDATAMODEL) -I$(SDCPOCO) #may i have to add here the source files too? did not work...
#Main-target (linking)
$(NAME) : $(OBJECTS)
$(CPP) -o $(NAME) -I$(SDCC)/DebugOut.cpp ## this one was just to try if I could bind in one single .h file...
#Object-targets
%.o : %.cpp
$(CPP) -o $@ $< $(CFLAGS)
My make command:
make -f makefilename
So it would be nice, if anyone of you know how I could include my missing input files, without changing the directory structure.
I’m having some trouble with my first bigger makefile project.
I got a bigger Library i’m using in my c++ project. More accurate: In my .cpp files and .h files I need to include some headers out of this bigger library.
Here’s my structure, to let you know how I’m using the library in my project:
myproj
|
|____Makefile
|____main.cpp
|____init.cpp
|____end.cpp
|____init.h
|____end.h
|____Dependencies
|____biggerlib
|____bin
|____...
|____include
|____#more directories including
#the Library headers
|____...
|____src
|____biggerLib1
|____biggerLib2
|____biggerLibrary.cpp
|____...
|____Lib2.cpp
|____...
|____Lib3.cpp
|____...
|____Util
|____DebugOut.cpp
|____Dev
|____Data
|____etc.
|____makestuff
|____...
|____...
|____...
|____...
|____codestuff
|____...
|____...
|____...
|____...
|____etc.
I’m not allowed to change that structure.
So, my problem is, that if I start make, gcc or g++ does not find my input files.
Error code:
g++: fatal error: no input files
compilation terminated.
*makefileName*:21: recipe for target '*Name*' failed
make: *** [*Name*] Error 1
Therefore, here some out of my makefile:
At first my OBJECTS file:
OBJECTS +=
$(BUILD)main.o
$(BUILD)init.o
$(BUILD)end.o
Then my makefile:
#Name (output name / project name)
NAME = proj
#Compiler directory
CC = gcc
CPP = g++
#Libray directorys
SDCC = /home/myname/myproj/Dependencies/biggerlib/src/biggerLib2/Util
# the headers are working well since yesterday but now i got the trouble with the input stuff...
#C-Flags for object-compiling
CFLAGS = -O2 -g3 -c -I$(SDCHDR) -I$(SDCDATAMODEL) -I$(SDCPOCO) #may i have to add here the source files too? did not work...
#Main-target (linking)
$(NAME) : $(OBJECTS)
$(CPP) -o $(NAME) -I$(SDCC)/DebugOut.cpp ## this one was just to try if I could bind in one single .h file...
#Object-targets
%.o : %.cpp
$(CPP) -o $@ $< $(CFLAGS)
My make command:
make -f makefilename
So it would be nice, if anyone of you know how I could include my missing input files, without changing the directory structure.
ИСПРАВЛЕНИЕ: ПРОГРАММЫ C / C НЕ РАБОТАЮТ НАСТОЯЩИМ В КОДЕ VS (EASY FIX) | 100% РАБОТАЕТ
У меня проблемы с моим первым большим проектом makefile. У меня большая библиотека, которую я использую в своем проекте на C ++. Точнее: в мои файлы .cpp и .h мне нужно включить некоторые заголовки из этой более крупной библиотеки.
Вот моя структура, чтобы вы знали, как я использую библиотеку в своем проекте:
myproj | |____Makefile |____main.cpp |____init.cpp |____end.cpp |____init.h |____end.h |____Dependencies |____biggerlib |____bin |____... |____include |____#more directories including #the Library headers |____... |____src |____biggerLib1 |____biggerLib2 |____biggerLibrary.cpp |____... |____Lib2.cpp |____... |____Lib3.cpp |____... |____Util |____DebugOut.cpp |____Dev |____Data |____etc. |____makestuff |____... |____... |____... |____... |____codestuff |____... |____... |____... |____... |____etc.
Мне не разрешено менять эту структуру.
Итак, моя проблема в том, что если я запускаю make, gcc или g ++ не находит мои входные файлы. Код ошибки:
g++: fatal error: no input files compilation terminated. *makefileName*:21: recipe for target '*Name*' failed make: *** [*Name*] Error 1
Поэтому вот некоторые из моего make-файла: Сначала мой файл OBJECTS:
OBJECTS += $(BUILD)main.o $(BUILD)init.o $(BUILD)end.o
Затем мой make-файл:
#Name (output name / project name) NAME = proj #Compiler directory CC = gcc CPP = g++ #Libray directorys SDCC = /home/myname/myproj/Dependencies/biggerlib/src/biggerLib2/Util # the headers are working well since yesterday but now i got the trouble with the input stuff... #C-Flags for object-compiling CFLAGS = -O2 -g3 -c -I$(SDCHDR) -I$(SDCDATAMODEL) -I$(SDCPOCO) #may i have to add here the source files too? did not work... #Main-target (linking) $(NAME) : $(OBJECTS) $(CPP) -o $(NAME) -I$(SDCC)/DebugOut.cpp ## this one was just to try if I could bind in one single .h file... #Object-targets %.o : %.cpp $(CPP) -o $@ $< $(CFLAGS)
Моя команда make:
make -f makefilename
Было бы неплохо, если бы кто-нибудь из вас знал, как я могу включить недостающие входные файлы, не меняя структуру каталогов.
- Возможный дубликат Как сгенерировать Make-файл с исходным кодом в подкаталогах, используя только один make-файл
- Я думаю, что cmake легко масштабировать, вы можете попробовать изучить cmake для своего нового проекта; это инструмент для создания сборки.
- Cmake, вероятно, не вариант для меня Мне нужно сделать это с помощью make, чтобы включить его в другой make-файл в проекте waay bigge
- Гадать не получится! Вы никогда не устанавливаете
$(OBJECTS)
и вы пытались передать исходный файл в качестве пути включения. Какие справочные материалы вы используете при создании своего make-файла? - Я установил их, но не показал вам, потому что подумал, что для вас это не понадобится. у меня есть внешний объектный файл
Tweet
Share
Link
Plus
Send
Send
Pin
Trurlol 0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
||||
1 |
||||
Не компилируется под убунтой24.12.2012, 22:42. Показов 4386. Ответов 14 Метки нет (Все метки)
Программа была написана под виндой, пытаюсь запустить ее под убунтой в эклипсе, дебагер шлет меня куда подальше. Подскажите пожалуйста, чего ему не хватает для счастья? Пока роюсь в инете и ищу возможно не хватающих библиотек, но толком не знаю какие именно библиотеки ему нужны. Сам код:
0 |
Почетный модератор 7390 / 2636 / 281 Регистрация: 29.07.2006 Сообщений: 13,696 |
|
25.12.2012, 02:33 |
2 |
Не компилируется под убунтой
дебагер шлет меня куда подальше Так тебя шлет дебаггер, или все-таки компилятор?
0 |
Trurlol 0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
||||
26.12.2012, 18:22 [ТС] |
3 |
|||
Вот скопировал больные места. Самое интерестное, то, что в универе все без проблем скомпилировалось, а дома по прежнему ругается.
0 |
В астрале 8048 / 4805 / 655 Регистрация: 24.06.2010 Сообщений: 10,562 |
|
27.12.2012, 09:49 |
4 |
Trurlol, Эм. Очевидно же, что С-runtime/C++-runtime библиотеки не подключены. Проверяйте настройки IDE. g++ -o имя_файла имя_файла.cpp в консоли. Компилируется?
0 |
3 / 3 / 1 Регистрация: 04.02.2011 Сообщений: 37 |
|
27.12.2012, 12:15 |
5 |
Все таки в компиляторе дело g++ -o имя_файла имя_файла.cpp в консоли. Компилируется? Я проверял вот так
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
|
27.12.2012, 23:57 [ТС] |
6 |
Trurlol, Эм. Очевидно же, что С-runtime/C++-runtime библиотеки не подключены. Проверяйте настройки IDE. Подскажите пожалуйста как их подключить?
0 |
11 / 11 / 3 Регистрация: 18.03.2010 Сообщений: 45 |
|
28.12.2012, 09:42 |
7 |
Сначала попробуй собраться из командной строки, как посоветовали.
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
|
02.01.2013, 21:16 [ТС] |
8 |
Trurlol, Эм. Очевидно же, что С-runtime/C++-runtime библиотеки не подключены. Проверяйте настройки IDE. g++ -o имя_файла имя_файла.cpp в консоли. Компилируется? g++ -o test.cpp После инстала $ sudo apt-get g++, эклипс компилирует код и все отлично работает, но он по прежнему считает что есть ошибки, т.е. список проблем остался тот же и весь код пестрит красными подчеркиваниями.
0 |
3 / 3 / 1 Регистрация: 04.02.2011 Сообщений: 37 |
|
03.01.2013, 00:11 |
9 |
g++ -o test.cpp Не удивительно. После -o следует имя выходного файла
После инстала $ sudo apt-get g++, эклипс компилирует код и все отлично работает, но он по прежнему считает что есть ошибки, т.е. список проблем остался тот же и весь код пестрит красными подчеркиваниями В Eclipse не писал, но стоило предполагать что это обертка вокруг gcc. Добавлено через 1 минуту
0 |
Trurlol 0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
||||
03.01.2013, 00:29 [ТС] |
10 |
|||
Не удивительно. После -o следует имя выходного файла В Eclipse не писал, но стоило предполагать что это обертка вокруг gcc. Добавлено через 1 минуту Сделал хелло ворлд проект, все компилируется и запускается как через консоль так и в эклипсе, но ошибки по прежнему подчеркивает в эклипсе.
Код Description Resource Path Location Type Symbol 'cout' could not be resolved test.cpp /test/src line 13 Semantic Error Program "g++" not found in PATH Preferences, C++/Build/Settings/Discovery, [CDT GCC Builtin Compiler Settings] options C/C++ Scanner Discovery Problem Symbol 'endl' could not be resolved test.cpp /test/src line 13 Semantic Error Symbol 'std' could not be resolved test.cpp /test/src line 10 Semantic Error
0 |
бжни 2473 / 1684 / 135 Регистрация: 14.05.2009 Сообщений: 7,162 |
|
03.01.2013, 00:31 |
11 |
Program «g++» not found in PATH так оно есть в PATH’e или нет?
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
|
03.01.2013, 00:34 [ТС] |
12 |
так оно есть в PATH’e или нет? Не совсем понимаю насчет первого вопроса.
0 |
alex_x_x бжни 2473 / 1684 / 135 Регистрация: 14.05.2009 Сообщений: 7,162 |
||||
03.01.2013, 00:53 |
13 |
|||
запусти, и выложи результат, если eclipse запускаешь из консоли — создай новую
ну это лайт-вариант, может быть в настройках eclipse’a какие-нибудь пути до парсеров поехали
0 |
Trurlol 0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
||||
03.01.2013, 01:15 [ТС] |
14 |
|||
запусти, и выложи результат, если eclipse запускаешь из консоли — создай новую
ну это лайт-вариант, может быть в настройках eclipse’a какие-нибудь пути до парсеров поехали which g++ echo $PATH | tr ‘:’ $’n’
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 21 |
|
05.01.2013, 13:59 [ТС] |
15 |
В discovery options/Compiler invocation command прописал «g++» код перестал пестрить проблемными местами, но осталась одна ошибка «Program «g++» not found in PATH», парсер перепроверил, все в порядке. Код по прежнему без проблем компилируется и запускается. Уже можно работать, но эта ошибка меня смущает.
0 |
Вы указали gcc выходной файл, но не указали входной. Чтобы скомпилировать файл hello.c и получить в результате hello, нужно сделать так:
gcc -o hello hello.c
edigaryev ★★★★★
(31.10.10 22:00:47 MSK)
- Ссылка
I am trying to compile some source code but I presented with the following error output after entering «make»:
mpicc -c -O3 -I func_pointer.c
gcc: fatal error: no input files
compilation terminated.
make: *** [func_pointer.o] Error 4
I have seen other threads on this website relating to this error output (1, 2, 3). I was in fact experiencing a similar problem previously, which I think I may have solved, where the «make» command was producing:
make: Circular mod_prec.o <- mod_prec.o dependency dropped.
make: Circular mod_prec.o <- mod_prec.o dependency dropped.
make: Circular mod_prec.o <- mod_prec.o dependency dropped.
/usr/bin/cpp -P -C -traditional -DIFORT -P -C -traditional -DWET_DRY -DMULTIPROCESSOR -DLIMITED_NO -DGCN mod_prec.F > mod_prec.f90
mpif90 -c -O3 -I mod_prec.f90
gfortran: fatal error: no input files
compilation terminated.
make: *** [mod_prec.o] Error 4
I followed the steps suggested on this website, which I think may have addressed that issue (I believe I am progressing further through the makefile). Those steps are as follows:
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ which mpif90
/usr/local/bin/mpif90
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ mpif90 -show
gfortran -I/usr/local/include -pthread -I/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -Wl,--enable-new-dtags -L/usr/local/lib -lmpi_usempi -lmpi_mpifh -lmpi
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ mpif90 -V
gfortran: error: unrecognized command line option ‘-V’
gfortran: fatal error: no input files
compilation terminated.
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ export MPI_LOC=/usr/local
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ export MPI_INCLUDE="$MPI_LOC"/includedan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ export MPI_LIB="$MPI_LOC"/lib
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ export LD_LIBRARY_PATH=$MPI_LIB:$LD_LIBRARY_PATH
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ export LIBMPI="-pthread -Wl -rpath -Wl -Wl,--enable-new-dtags -lmpi -lmpi_usempi -lmpi_mpifh -lmpi"
With an additional step of:
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ make clean
/bin/rm -f *.o *.mod *.f90
Which brought me to where I am currently. My instinct is that the solution to my current problem will be similar to that of my previous problem. However, I am new to linux/c/fortran so I am not sure I fully follow the previous solution. As such the following commands produce the following output:
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ which mpicc
/usr/local/bin/mpicc
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ mpicc -show
gcc -I/usr/local/include -pthread -Wl,-rpath -Wl,/usr/local/lib -Wl,--enable-new-dtags -L/usr/local/lib -lmpi
dan@Dan-office ~/FVCOM3.2.2/FVCOM_source $ mpicc -V
gcc: error: unrecognized command line option ‘-V’
gcc: fatal error: no input files
compilation terminated.
Have I failed to correctly define some variables which is leading to this problem? I am conscious that this question is becoming rather long but I can add additional information if it is required such as the makefile (this is long though).