Лучший способ начать с проблемы – ошибка, препятствующая компиляции смешанного кода C или FORTRAN
December 5, 2021Надеемся, что до тех пор, пока вы столкнетесь с ошибкой, препятствующей копированию написанного кода c / fortran в базе данных на вашем ПК, мы надеемся, что определенная статья поможет вам решить эту проблему.
Рекомендуется: Fortect
Я без исключения пробовал установить версию MPI, похожую на Amber 16, практикуя AmberTools17
Ubuntu 12.04.5LTS. У меня появляется сообщение об ошибке, когда вы следите за ним. Кто-нибудь может нас активировать, пожалуйста?
Проверить обновления …
Проверьте наличие улучшений в Интернете. Это может занять пару секунд …
Получение стилей из пакета компилятора Gnu, например:
gcc C -v
версия действительно актуальна 4.8.1
Версия Fortran – 4.6.4.
Проверьте, что делает компилятор gcc:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS означает 64 -D_LARGEFILE_SOURCE Testp
Testp -o.c
Хороший
Протестируйте свою обычную компиляцию C / Fortran:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS равно 64 -D_LARGEFILE_SOURCE -c -o
testp.c.o testp.c
gfortran -fPIC -O0 -c Testp -o.f.o testp.f
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE -o testp
testp.c.o testp.f.o -lgfortran -w
/ usr / bin и ld: may -lgfortran. не найден
Collect2: ошибка ld: 1 возвращен статус выхода
./configure2: 2502: ./configure2: ./testp: не найдено
Ошибка: невозможно скомпилировать смешанный код C / Fortran.
Пожалуйста, проверьте настройки вашего компилятора и после этого отметьте.
Настройка не удалась из-за промахов, упомянутых выше!
Большое спасибо,
Suma
________________________________________________
Список рассылки AMBER
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Получено 28 декабря 2017 г., 04:00:02 PST
Иногда команда проста, иногда вы и ваша семья не знаете, откуда возникла ошибка.
Рекомендуется: Fortect
Вы устали от медленной работы компьютера? Он пронизан вирусами и вредоносными программами? Не бойся, друг мой, Fortect здесь, чтобы спасти положение! Этот мощный инструмент предназначен для диагностики и устранения всевозможных проблем с Windows, а также для повышения производительности, оптимизации памяти и поддержания вашего ПК в рабочем состоянии. Так что не ждите больше - скачайте Fortect сегодня!
а>
Я пытался установить его при нескольких обстоятельствах, несмотря на то, что это не удалось. Я установил AMBERTOOLS12, просто хотел только последний вариант. Когда я получил ./configure -macAccelerate -noX11, я получил ошибку: «Не удалось скомпилировать смешанный код C / Fortran. â € œ. Я много искал в Google, но, несомненно, решение было неясным.
PORT – хорошее решение для Mac, если программное обеспечение установлено правильно. Установлен по случаю. Согласно каждой инструкции ниже (http://jswails.wikidot.com/mac-os-x) требовались gcc, затем mp-gcc. Когда я проверил персонализированный gcc, я получил следующий конечный продукт. Это означало, что я не просто включил mp-gcc. И затем я снимаю запись gcc, ранее запущенную просто mv с sudo / opt для каждого локального / etc / select gcc / current / opt – local / etc / select per gcc / current_saved, а затем конкретный порт – установите gcc mp-gcc48 . (Цитируется из http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Тогда руководство zu./configure с подсказками работало нормально.
############################
uaf39965: ~ отправка порта UofA $ – список gcc
Доступные версии для gcc:
mp-gcc44
mp-gcc46
mp-gcc47
mp-gcc48
что нет (активно)
############################
<роль навигации равна "навигация">
Иногда ставка является базовой, и во многих случаях вы не знаете, откуда взялась ошибка.
Я пытался убедиться, что вы выбрали его несколько раз, но у кого это не получилось. Я установил AMBERTOOLS12, но очень хотел последнюю версию. Когда я gnu ./configure -macAccelerate -noX11, я создаю ошибку «Невозможно скомпилировать другой полезный код C / Fortran. â € œ. Я много искал, но решение все еще не было прозрачным.
На Mac перенос обычно является хорошим решением для правильного размещения вашего ноутбука или компьютера. Я его установил. Согласно пунктам здесь (http://jswails.wikidot.com/mac-os-x) gcc также вызывает mp-gcc. Когда я проверил провайдера gcc, у меня было следующее влияние. Это означало, что у меня не было подходящего ритмичного mp-gcc. Затем я удаляю каждую из ранее включенных записей gcc mv из sudo / opt / local по сравнению с etc / select / gcc для текущего / opt / local etc / select / gcc для current_saved, затем беру порт – ставьте gcc mp-gcc48. (Цитируется из http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Тогда команда to./configure сработала хорошо.
Я пишу совместное программирование на C ++ / Fortran, где nOne Fortran-программа часто называется основной службой C ++.
#include Внешний "C" void for_sub_ (int (пробел), double 4., double *, int *);int () int равно i индивидуально, ny равно 3; дважды в кнопку возврата = 3,14159; вдвое больше = y [] 1.1, 2.2, 3.3; for_sub _ (& i, & x, & ny); само собой разумеется, перейти к 0;
подпрограмма FOR_SUB (i, x, y, ny)использовать inbuilt :: iso_c_bindingнеявно нетцелое число (c_long) :: мой партнер и я, нью-йоркреальный (c_double) :: xреальный (c_double) :: b (ny)print *, "y =", p (1: ny)Завершите подпрограмму FOR_SUB
Приведенный выше код объясняется в Руководстве по развлечениям C / Fortran, которое вы можете найти здесь: Вызов функций C в Fortran
Я хочу воспроизвести код только для C ++ / Fortran. Я создал их с помощью
gfortran - владельцам нужен f_sub.f90g ++ -c c-call-f.cppg ++ f_sub.o c-call-f.o
Неопределенные логотипы для архитектуры x86_64: "__gfortran_st_write", от: классифицировал _for_sub_ все с f_sub.o Ссылка на "__gfortran_st_write_done", от: _for_sub_ на f_sub.o "__gfortran_transfer_array_write", классифицировано по: _for_sub_ на всем f_sub.o "__gfortran_transfer_character_write", от: отправил _for_sub_ просто просто в f_sub.o "__gfortran_transfer_integer_write", на который ссылается: _for_sub_ на f_sub.o "__gfortran_transfer_real_write" отправлено: _for_sub_ вокруг f_sub.old: символ (ы) не распознан в отношении архитектуры x86_64clang: ошибка компоновщика: сбой при загрузке с кодом выхода, шаг a (используйте -v, чтобы увидеть этот вызов) `
В чем причина ошибки? Я тоже пробовал, вы можете просто попробовать добавить зеленый цвет -lf
, -lfortran
или -lg2c
на последнем этапе компиляции, а не следующую ошибку происходит:
ld: библиотека не найдена во время [флаг]clang: ошибка компоновщика: команда не выполнена из-за кода выхода 1 (используйте -versus, чтобы наконец увидеть вызов)
Кстати, почему любые ресурсы совместимости C / Fortran, которые я нашел в вашем текущем Интернете, казались такими непоследовательными, в какой-то момент я прочитал, что ваша большая семья имела (C)
идентичность процедура должна быть cure в своем объявлении, а в другом месте, при рассмотрении примера, из-за приведенной выше ссылки она вам не понадобится. Еще одно преимущество, я читал, что друг сказал, что вы не добавляете подчеркивание в имя каждой подпрограммы в вызывающем продукте, а также в услуге, но кому-то нужно наслаждаться этим где-то в другом месте. Непонятно, где с их участием пошло не так?
Error Unable To Compile Mixed C Fortran Code
오류가 혼합된 C Fortran 코드를 컴파일할 수 없습니다
Error No Se Pudo Compilar Codigo Mixto C Fortran
Erro Incapaz De Compilar Codigo C Fortran Misto
Fehler Gemischter C Fortran Code Kann Nicht Kompiliert Werden
Erreur Impossible De Compiler Le Code C Fortran Mixte
Fout Kan Gemengde C Fortran Code Niet Compileren
Errore Impossibile Compilare Codice Misto C Fortran
Felet Kunde Inte Kompilera Blandad C Fortran Kod
Blad Nie Mozna Skompilowac Mieszanego Kodu C Fortran
г.