过去一周我一直被这个问题困扰。当我使用 VS Code Insiders - Code Runner Extension 或命令: clang++ -std=c++14 main.cpp 编译代码时,出现以下错误:
Undefined symbols for architecture arm64:
"LinkedList::insertHead(int)", referenced from:
_main in main-6d6a24.o
"LinkedList::insertTail(int)", referenced from:
_main in main-6d6a24.o
"operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, LinkedList const&)", referenced from:
_main in main-6d6a24.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
但是,我能够使用下面的 Makefile 编译代码:
all: main
main: main.o linkedList.o
clang++ -std=c++14 -o $@ $^
main.o: main.cpp linkedList.h
clang++ -std=c++14 -c …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 mac m1Pro ARM 上运行 Oracle 数据库,到目前为止,以下是我所做的步骤:
\n卸载colima和docker:
\n\n\n酿造卸载科利马码头工人
\n
卸载docker桌面并删除所有相关文件。
\n安装了 colima 和 docker :
\n\n\n酿造安装科利马码头工人
\n
运行此命令来执行 colima :
\n\n\n科利马启动--arch x86_64--内存4
\n
执行 docker run :
\n\n\ndocker run -d -p 1521:1521 -e ORACLE_PASSWORD=azerty gvenzl/oracle-xe
\n
检查我的容器是否正在运行:
\n\n\ndocker 容器 ls
\n
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n8ffc237bc009 gvenzl/oracle-xe "container-entrypoin\xe2\x80\xa6" 4 seconds ago Up 1 second 0.0.0.0:1521->1521/tcp, :::1521->1521/tcp intelligent_williams\nRun Code Online (Sandbox Code Playgroud)\n 我的 macbook pro m1 上安装了 php 7.4
% php -v
PHP 7.4.15 (cli) (built: Feb 26 2021 09:28:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.15, Copyright (c), by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
我正在尝试安装运行的 mongodb 驱动程序:
sudo pecl install mongodb
Run Code Online (Sandbox Code Playgroud)
但一段时间后失败:
mp/pear/temp/mongodb/src/contrib/ -DHAVE_CONFIG_H -g -O2 -c /private/tmp/pear/temp/mongodb/php_phongo.c -fno-common -DPIC -o .libs/php_phongo.o
In file included from /private/tmp/pear/temp/mongodb/php_phongo.c:29:
In file included from /opt/homebrew/Cellar/php@7.4/7.4.15_1/include/php/ext/spl/spl_iterators.h:24:
/opt/homebrew/Cellar/php@7.4/7.4.15_1/include/php/ext/pcre/php_pcre.h:25:10: fatal error: 'pcre2.h' file not found
#include "pcre2.h"
^~~~~~~~~ …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下命令在我的 Apple M2 MacBookPro 中安装 cocoapods:
sudo gem install cocoapods
Run Code Online (Sandbox Code Playgroud)
然后我收到以下错误:
Fetching rexml-3.2.5.gem
Fetching nanaimo-0.3.0.gem
Fetching colored2-3.1.2.gem
Fetching claide-1.1.0.gem
Fetching atomos-0.1.3.gem
Fetching ruby-macho-2.5.1.gem
Fetching xcodeproj-1.22.0.gem
Fetching nap-1.1.0.gem
Fetching molinillo-0.8.0.gem
Fetching gh_inspector-1.1.3.gem
Fetching fourflusher-2.3.1.gem
Fetching escape-0.0.4.gem
Fetching cocoapods-try-1.2.0.gem
Fetching netrc-0.11.0.gem
Fetching cocoapods-trunk-1.6.0.gem
Fetching cocoapods-search-1.0.1.gem
Fetching cocoapods-plugins-1.0.0.gem
Fetching cocoapods-downloader-1.6.3.gem
Fetching cocoapods-deintegrate-1.0.5.gem
Fetching ffi-1.15.5.gem
Fetching ethon-0.16.0.gem
Fetching typhoeus-1.4.0.gem
Fetching public_suffix-4.0.7.gem
Fetching fuzzy_match-2.0.4.gem
Fetching concurrent-ruby-1.1.10.gem
Fetching json-2.6.3.gem
Fetching httpclient-2.8.3.gem
Fetching algoliasearch-1.27.5.gem
Fetching addressable-2.8.1.gem
Fetching zeitwerk-2.6.6.gem
Fetching tzinfo-2.0.5.gem
Fetching minitest-5.17.0.gem
Fetching cocoapods-1.11.3.gem
Fetching i18n-1.12.0.gem
Fetching …Run Code Online (Sandbox Code Playgroud) 我当前的设置是 m1 MacBook Air。
\n我正在阅读一本低级编程书籍。\n
\n我希望将我编写的 C 代码编译为 x86_64 程序集。
有了 clang 我可以很容易地做到这一点:
\nclang -target x86_64 -masm=intel -S add_two_numbers.c\nRun Code Online (Sandbox Code Playgroud)\n但当我包含一个库(例如 stdio)时它不起作用。
\n\xe2\x9d\xaf clang -target x86_64 -masm=intel -S hello.c\nhello.c:1:10: fatal error: 'stdio.h' file not found\n#include <stdio.h>\n ^~~~~~~~~\nRun Code Online (Sandbox Code Playgroud)\n正如 clang 文档所说,我可以手动安装 x86_64 库并执行以下操作:
\nclang -target x86_64 -masm=intel -I path/to/Include -L path/to/Library -S hello.c\nRun Code Online (Sandbox Code Playgroud)\n但我找不到可在 MacOS 上下载的预构建包。我试过交叉编译,太费力了。
\n所以我放弃了,转而追求更简单的东西。我找到了这个问题的解决方案,我将在下面作为答案分享。
\n我正在尝试在带有 M1 芯片的 MacBook 中安装 scala。我已经安装了 Zulus javaJDK 15.0.2。我之前使用过这个页面来安装 home-brew:在 MacOS Big Sur (M1 芯片) 上安装 homebrew 时收到警告
但是在通过 安装 scala 时brew install scala,我收到以下消息:
错误:无法将临时签名应用于 /opt/homebrew/Cellar/openjdk/15.0.1/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib:/opt/homebrew/Cellar/openjdk/15.0.1/ libexec/openjdk.jdk/Contents/MacOS/libjli.dylib:替换现有签名/opt/homebrew/Cellar/openjdk/15.0.1/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib:资源叉,Finder信息,或类似的碎屑不允许
==> 警告 ... ... 如果您需要首先在 PATH 中安装 openjdk,请运行:echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc
为了让编译器找到 openjdk,您可能需要设置:export CPPFLAGS="-I/opt/homebrew/opt/openjdk/include"
要让系统 Java 包装器找到此 JDK,请将其与 sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk 进行符号链接
尽管有这条消息,我已经可以从 vscode 运行 scala 脚本。那么我应该担心上面消息中的路径问题吗?谢谢 !