0

我正在做一个关于blockgeeks的教程并且已经被困了几个小时。

这是我在尝试编译我的项目时遇到的错误

Compiling your contracts...
===========================
> Compiling @openzeppelin\contracts\token\ERC721\ERC721.sol
> Compiling @openzeppelin\contracts\token\ERC721\IERC721.sol
> Compiling @openzeppelin\contracts\token\ERC721\IERC721Receiver.sol
> Compiling @openzeppelin\contracts\token\ERC721\extensions\IERC721Metadata.sol
> Compiling @openzeppelin\contracts\utils\Address.sol
> Compiling @openzeppelin\contracts\utils\Context.sol
> Compiling @openzeppelin\contracts\utils\Strings.sol
> Compiling @openzeppelin\contracts\utils\introspection\ERC165.sol
> Compiling @openzeppelin\contracts\utils\introspection\IERC165.sol
> Compiling .\contracts\Migrations.sol
> Compiling .\contracts\virus.sol

ParserError: Expected string literal (path), "*" or alias list.
 --> /C/Users/Admin/virus/contracts/virus.sol:2:8:
  |
2 | import '@openzeppelin\contracts\token\ERC721\ERC721.sol';
  |        ^^^^^^^^^^^^^^^^

Compilation failed. See above.

这是我的solidity文件的代码。


pragma solidity >=0.4.22 <0.9.0;

import ""@openzeppelin\contracts\token\ERC721\ERC721.sol";

contract Virus is ERC721 {
  constructor() public ERC721("CryptoVirus", "Virus") {

  }
}

任何帮助都将不胜感激,因为我为此让自己发疯。我已经卸载并重新安装了 truffle 和 openzeppelin,但仍然没有任何乐趣。

谢谢

4

1 回答 1

1

您的声明中有错字import

import ""@openzeppelin\contracts\token\ERC721\ERC721.sol";

以两个引号开头""。把它换成一个"

import "@openzeppelin\contracts\token\ERC721\ERC721.sol";
于 2021-05-21T19:57:27.113 回答