请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Error: not found Callee.sol

我在web remix 里面分别写了两个 sol文件
callee.sol 和 caller.sol

然后在call.sol 里面import “Callee.sol”;
编译的时候总是报错说找不到Callee.sol
Error: not found Callee.sol

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.8.2 <0.9.0;

import “Callee.sol”;

contract Caller{
address calleeAddress;
constructor(address _calleeAddress){
calleeAddress = _calleeAddress;
}

function setCalleeX(uint _x)public {
    Callee callee = Callee(calleeAddress);
    callee.setX(_x);
}

}

正在回答 回答被采纳积分+3

3回答

提问者 慕少4057723 2023-09-23 10:36:44
大小写正确哦,我试了下不管是桌面的还是web的都说找不到文件650e4f390001013006660500.jpg
1 回复 有任何疑惑可以回复我~
qq_哥活的有模有样_0 2024-01-11 16:59:48

在 Solidity 中,你可以使用 `import` 语句来导入其他合约。路径的写法取决于你的项目结构和 Solidity 文件的位置。有几种常见的写法:


1. **相对路径:**

   如果另一个合约文件与当前合约文件在同一目录中,可以使用相对路径:


   ```solidity

   import "./AnotherContract.sol";

   ```


   这里假设 `AnotherContract.sol` 与当前合约在同一目录下。


2. **绝对路径:**

   使用绝对路径可以确保准确性。你可以使用从项目根目录开始的路径:


   ```solidity

   import "/contracts/AnotherContract.sol";

   ```


   这里假设 `AnotherContract.sol` 在项目的 `contracts` 目录下。


3. **使用 NPM 包名:**

   如果你使用了 NPM 或 Yarn 等包管理工具,并将 Solidity 文件作为 NPM 包的一部分,你可以使用包名导入:


   ```solidity

   import "packageName/AnotherContract.sol";

   ```


   这里假设 `AnotherContract.sol` 是 `packageName` 包的一部分。


请根据你的项目结构和实际需求选择适当的路径写法。确保 Solidity 编译器能够正确找到被导入的合约。


0 回复 有任何疑惑可以回复我~
  • 多谢你的回答,我这边也是遇到这个问题了,我加了文件夹相对路径,就正确了,可以找了
    回复 有任何疑惑可以回复我~ 2024-11-16 16:16:44
残照花开(Adams) 2023-09-23 10:01:00
是不是大小写?
0 回复 有任何疑惑可以回复我~
  • 提问者 慕少4057723 #1
    import的时候需要 加文件夹的名称,之前路径不完整
    回复 有任何疑惑可以回复我~ 2023-09-26 10:04:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信